Changeset 3972


Ignore:
Timestamp:
Aug 25, 2011 4:40:48 PM (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 edited

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){
Note: See TracChangeset for help on using the changeset viewer.