Changeset 3972

Show
Ignore:
Timestamp:
25/08/11 16:40:48 (4 years ago)
Author:
adevress
Message:

Merge remote-tracking branch 'origin/gfal_2_0_main2_globless'

Location:
gfal/branches/gfal_2_0_dev_globusless
Files:
11 modified

Legend:

Unmodified
Added
Removed
  • gfal/branches/gfal_2_0_dev_globusless/SConstruct

    r3964 r3972  
    8282headers= ['.', '#.', '#build/src/'] +   dpm_header_dir+ dcap_header_dir+ srmifce_header_dir +lfc_header_dir  + dpm_header_dir_emi + cgreen_header_dir 
    8383libs=[ '#'+build_dir+'/libs'] +   dpm_lib_dir+ dcap_lib_dir+ srmifce_lib_dir+ lfc_lib_dir+ dpm_lib_dir_emi + cgreen_lib_dir 
    84 cflags=['-DVERSION='+version, '-DGFAL_SECURE' , '-D_LARGEFILE64_SOURCE','-DGFAL_ENABLE_RFIO','-DGFAL_ENABLE_DCAP','-pthread' ] # largefile flag needed in 64 bits mod, Version setter, Warning flags and other legacy flags  
     84cflags=['-DVERSION='+version, '-D_REENTRANT', '-D_THREAD_SAFE', '-DGFAL_SECURE' , '-D_LARGEFILE64_SOURCE','-DGFAL_ENABLE_RFIO','-DGFAL_ENABLE_DCAP','-pthread' ] # largefile flag needed in 64 bits mod, Version setter, Warning flags and other legacy flags  
    8585# create default env 
    8686env = Environment(tools=['default', 'packaging'], CPPPATH= headers, LIBPATH=libs, CFLAGS=cflags, LIBS=link_libs) 
  • gfal/branches/gfal_2_0_dev_globusless/src/SConscript

    r3964 r3972  
    66 
    77 
    8 env.Append(CFLAGS='-O3') 
    9  
    10 gfal_common_libs = [ 'is_ifce']                 # libraries linked 
     8gfal_common_libs = [ ]          # libraries linked 
    119gsimplecache = ["externals/gsimplecache/gsimplecacheOS.os"] 
    1210other_headers=['common/'] 
     
    1412common_mds = Glob("common/mds/*.c")  
    1513posix_src_all = Glob("posix/*.c") 
    16 src_all = common_src + common_mds + posix_src_all 
     14src_all = common_src + posix_src_all 
    1715 
    1816local_headers = Glob("common/*.h") + Glob("posix/*.h")  + Glob("common/mds/*.h")  + Glob("common/voms/*.h") + Glob("*.h") 
     
    2321 
    2422plugin_lfc = Glob("common/lfc/*.c") 
    25 plugin_srm = Glob("common/srm/*.c") 
     23plugin_srm = Glob("common/srm/*.c")+ common_mds  
    2624plugin_rfio = Glob("common/rfio/*.c") 
    2725plugin_dcap = Glob("common/dcap/*.c") 
     
    4543 
    4644env_plugin_srm = env_plugin.Clone() 
    47 env_plugin_srm.Append(LIBS=["gfal_srm_ifce"] ) 
     45env_plugin_srm.Append(LIBS=['vomsapi', 'is_ifce', "gfal_srm_ifce" ] ) 
    4846plugin_srm_lib = env_plugin_srm.SharedLibrary('../libs/libgfal_plugin_srm', plugin_srm + gsimplecache) 
    4947env_plugin_srm.Depends(plugin_srm_lib,srm_headers ) 
  • gfal/branches/gfal_2_0_dev_globusless/src/common/gfal_common_catalog.c

    r3950 r3972  
    187187        g_return_val_err_if_fail(handle, -1, err, "[gfal_catalogs_instance]  invalid value of handle"); 
    188188        const int catalog_number = handle->catalog_opt.catalog_number; 
     189        int ret; 
    189190        if(catalog_number <= 0){ 
    190191                GError* tmp_err=NULL; 
    191                 gfal_modules_resolve(handle, &tmp_err); 
    192                 if(tmp_err) 
     192                ret = gfal_modules_resolve(handle, &tmp_err); 
     193                if(tmp_err){ 
    193194                        g_propagate_prefixed_error(err, tmp_err, "[%s]", __func__); 
     195                        handle->catalog_opt.catalog_number = -1; 
     196                } 
    194197                return handle->catalog_opt.catalog_number;       
    195198        } 
     
    510513        gfal_file_handle resu =NULL; 
    511514        gfal_catalog_interface* pcata=NULL; 
     515        gfal_print_verbose(GFAL_VERBOSE_TRACE, " %s ->",__func__); 
     516 
    512517         
    513518        gboolean openG_checker(gfal_catalog_interface* cata_list, GError** terr){ 
  • gfal/branches/gfal_2_0_dev_globusless/src/common/lfc/gfal_common_lfc.c

    r3950 r3972  
    257257        if(lfn){ 
    258258                if( ( ret= gsimplecache_take_one_kstr(ops->cache_stat, lfn, st)) == 0){ // take the version of the buffer 
    259                         gfal_print_verbose(GFAL_VERBOSE_DEBUG, " lfc_lstatG -> value taken from cache"); 
     259                        gfal_print_verbose(GFAL_VERBOSE_TRACE, " lfc_lstatG -> value taken from cache"); 
    260260                }else{   
    261                         gfal_print_verbose(GFAL_VERBOSE_DEBUG, " lfc_lstatG -> value not in cache, do normal call"); 
     261                        gfal_print_verbose(GFAL_VERBOSE_TRACE, " lfc_lstatG -> value not in cache, do normal call"); 
    262262                        gfal_lfc_init_thread(ops); 
    263263                        gfal_auto_maintain_session(ops, &tmp_err); 
    264                         ret = ops->lstat(lfn, &statbuf); 
    265                         if(ret != 0){ 
    266                                 int sav_errno = gfal_lfc_get_errno(ops); 
    267                                 g_set_error(&tmp_err,0,sav_errno, "Error report from LFC : %s", __func__, gfal_lfc_get_strerror(ops) ); 
    268                         }else{ 
    269                                 ret= gfal_lfc_convert_lstat(st, &statbuf, err); 
    270                                 errno=0; 
     264                        if(!tmp_err){ 
     265                                ret = ops->lstat(lfn, &statbuf); 
     266                                if(ret != 0){ 
     267                                        int sav_errno = gfal_lfc_get_errno(ops); 
     268                                        g_set_error(&tmp_err,0,sav_errno, "Error report from LFC : %s", __func__, gfal_lfc_get_strerror(ops) ); 
     269                                }else{ 
     270                                        ret= gfal_lfc_convert_lstat(st, &statbuf, err); 
     271                                        errno=0; 
     272                                } 
    271273                        } 
    272274                } 
  • gfal/branches/gfal_2_0_dev_globusless/src/common/lfc/gfal_common_lfc_open.c

    r3772 r3972  
    4242        GError* tmp_err=NULL; 
    4343        gfal_file_handle res=NULL; 
     44        gfal_print_verbose(GFAL_VERBOSE_TRACE, "  %s ->",__func__); 
     45         
    4446        char** surls = lfc_getSURLG(ch, path, &tmp_err); 
    45         char** p = surls; 
    46         while( p != NULL){ 
    47                 res = gfal_catalog_openG(handle, *p, flag, mode, &tmp_err); 
    48                 if(res || ( tmp_err && tmp_err->code!=ECOMM)) 
    49                         break; 
    50                 p++; 
     47        if(surls != 0 && tmp_err == NULL){ 
     48                char** p = surls; 
     49                while( *p != NULL){ 
     50                        gfal_print_verbose(GFAL_VERBOSE_VERBOSE, " LFC resolution %s -> %s ", path, *p); 
     51                        res = gfal_catalog_openG(handle, *p, flag, mode, &tmp_err); 
     52                        if(res || ( tmp_err && tmp_err->code!=ECOMM)) 
     53                                break; 
     54                        p++; 
     55                } 
    5156        } 
    5257        g_strfreev(surls); 
  • gfal/branches/gfal_2_0_dev_globusless/src/common/lfc/lfc_ifce_ng.c

    r3950 r3972  
    6565 
    6666void gfal_auto_maintain_session(struct lfc_ops* ops, GError ** err){ 
    67         time_t current = time(NULL); 
     67        /*time_t current = time(NULL); 
    6868        if(session_timestamp < current){ 
    6969                pthread_mutex_lock(&m_session); 
     
    7575                } 
    7676                pthread_mutex_unlock(&m_session);        
    77         } 
     77        }*/ 
    7878} 
    7979void lfc_set_session_timeout(int timeout){ 
     
    260260        char* lfc_host = NULL; 
    261261        GError* tmp_err = NULL; 
     262 
    262263         
    263264        if ( (lfc_host = gfal_get_lfchost_envar(&tmp_err)) == NULL ) { // if env var not specified got one from bdii, and setup the env var 
    264                 if(tmp_err){ 
    265                         g_propagate_prefixed_error(err, tmp_err, "[gfal_get_lfchost]"); 
    266                         return NULL; 
    267                 } 
    268                  
    269                 if( (lfc_host = gfal_get_lfchost_bdii(handle, &tmp_err)) ==NULL ){ // call the bdii  
    270                         g_propagate_prefixed_error(err, tmp_err, "[gfal_get_lfchost]"); 
    271                         return NULL;     
    272                 }else{                           
    273                         gfal_define_lfc_env_var(lfc_host, &tmp_err);            // define the env var if sucess 
    274                         if(tmp_err){ 
    275                                 g_propagate_prefixed_error(err, tmp_err,"[gfal_get_lfchost]"); 
    276                                 free(lfc_host); 
    277                                 return NULL; 
    278                         }        
    279                 } 
    280         }  
    281  
    282         if (strnlen (lfc_host,GFAL_MAX_LFCHOST_LEN) + 6 >= GFAL_MAX_LFCHOST_LEN) {  
    283                 g_set_error(err, 0, ENAMETOOLONG, "[gfal_get_lfchost] lfc host name :  %s, Host name too long", lfc_host); 
     265                if(!tmp_err) 
     266                        g_set_error(&tmp_err, 0, ENOENT, "Environment variable LFC_HOST does not exist"); // disable the bdii resolution, not used anymore. 
     267        }else if (strnlen (lfc_host,GFAL_MAX_LFCHOST_LEN) + 6 >= GFAL_MAX_LFCHOST_LEN) {  
     268                g_set_error(&tmp_err, 0, ENAMETOOLONG, "lfc host name :  %s, Host name too long", lfc_host); 
    284269                free(lfc_host); 
    285                 return (NULL);           
     270                lfc_host=NULL; 
    286271        }        
    287272        //g_printerr(" my host : %s", lfc_host); 
     273        if(tmp_err) 
     274                g_propagate_prefixed_error(err, tmp_err, "[gfal_get_lfchost]"); 
    288275        return lfc_host; 
    289276} 
  • gfal/branches/gfal_2_0_dev_globusless/src/common/rfio/gfal_rfio_plugin_bindings.c

    r3833 r3972  
    4040 
    4141static void rfio_report_error(gfal_plugin_rfio_handle h,  const char * func_name, GError** err){ 
    42         char buff_error[2048]; 
     42        char buff_error[2048]= {0}; 
    4343        int status = h->rf->geterror(); 
    4444        status = (status > 1000)?ECOMM:status; 
    45         strerror_r(status, buff_error, 2048); 
     45        h->rf->serror_r(buff_error, 2048); 
    4646        g_set_error(err, 0, status, "[%s] Error reported by the external library rfio : %s", func_name, buff_error); 
    4747} 
     
    5050        gfal_plugin_rfio_handle h = (gfal_plugin_rfio_handle) handle; 
    5151        gfal_file_handle ret = NULL; 
     52        gfal_print_verbose(GFAL_VERBOSE_TRACE, "  %s ->",__func__); 
     53         
    5254        int fd= h->rf->open(path, flag, mode); 
    5355        if(fd <= 0) 
  • gfal/branches/gfal_2_0_dev_globusless/src/common/rfio/gfal_rfio_plugin_layer.c

    r3788 r3972  
    6464                        pops = g_new0(struct rfio_proto_ops, 1); 
    6565                        pops->geterror = (int (*) ()) dlsym (dlhandle, "rfio_serrno"); 
     66                        pops->serror_r = (char* (*) (char*, size_t)) dlsym(dlhandle, "rfio_serror_r"); 
    6667                        pops->access = (int (*) (const char *, int)) dlsym (dlhandle, "rfio_access"); 
    6768                        pops->chmod = (int (*) (const char *, mode_t)) dlsym (dlhandle, "rfio_chmod"); 
  • gfal/branches/gfal_2_0_dev_globusless/src/common/rfio/gfal_rfio_plugin_layer.h

    r3786 r3972  
    3939        int     (*close)(int); 
    4040        int     (*closedir)(DIR *); 
     41        char* (*serror_r)(char* buff, size_t buff_size); 
    4142        off_t   (*lseek)(int, off_t, int); 
    4243#if ! defined(linux) || defined(_LARGEFILE64_SOURCE) 
  • gfal/branches/gfal_2_0_dev_globusless/src/common/srm/gfal_common_srm_open.c

    r3827 r3972  
    7575        srm_req_type req_type; 
    7676        int tmp_ret; 
     77        gfal_print_verbose(GFAL_VERBOSE_TRACE, "  %s ->",__func__); 
     78         
    7779        if(flag & O_CREAT){ // create turl if file is not existing else get one for this file 
     80                gfal_print_verbose(GFAL_VERBOSE_TRACE, "   SRM PUT mode",__func__); 
    7881                tmp_ret= gfal_srm_putTURLS_catalog(ch, p, turl, GFAL_URL_MAX_LEN, &reqtoken, &tmp_err); 
    7982                req_type= SRM_PUT; 
    8083        }else{ 
     84                gfal_print_verbose(GFAL_VERBOSE_TRACE, "   SRM GET mode",__func__); 
    8185                tmp_ret= gfal_srm_getTURLS_catalog(ch, p, turl, GFAL_URL_MAX_LEN, &reqtoken, &tmp_err); 
    8286                req_type= SRM_GET; 
    8387        } 
     88         
    8489        if(tmp_ret == 0){ 
     90                gfal_print_verbose(GFAL_VERBOSE_TRACE, "  SRM RESOLUTION : %s -> %s ", path, turl); 
    8591                ret = gfal_catalog_openG(opts->handle, turl, flag, mode, &tmp_err); 
    8692                ret= gfal_srm_file_handle_create(ret, p, reqtoken, req_type); 
  • gfal/branches/gfal_2_0_dev_globusless/src/posix/gfal_posix_open.c

    r3950 r3972  
    6363int gfal_posix_internal_open(const char* path, int flag, mode_t mode){ 
    6464        GError* tmp_err=NULL; 
    65  
    6665        gfal_handle handle; 
    6766        gfal_file_handle fhandle=NULL; 
    6867        int ret= -1; 
    6968        int key = -1; 
     69         
     70        gfal_print_verbose(GFAL_VERBOSE_TRACE, "%s ->",__func__); 
    7071 
    7172        if((handle = gfal_posix_instance()) == NULL){