Show
Ignore:
Timestamp:
12/06/10 16:26:00 (3 years ago)
Author:
shuangy
Message:

1. add >InitNumDirdataHandles?< field to fs_config and default value set to 2. 2. add command line options >-n, --init-num-dirdata< to pvfs2-mkdir to set initial number of dirdata handles for a directory. (not yet applied to kernel module.)

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • branches/Orange-Elaine-Distr-Dir-Branch/src/client/sysint/sys-mkdir.sm

    r8646 r8648  
    608608    PVFS_object_attr *attr = NULL; 
    609609    int i; 
    610     int ret = -PVFS_EINVAL; 
    611610 
    612611    gossip_debug(GOSSIP_CLIENT_DEBUG, "mkdir state: parent_getattr_inspect\n"); 
     
    637636    } 
    638637 
    639     /* TODO: use settings from the config file, or from parent dir? */ 
    640     /* Determine the number of dirent files. For now just assume we will use 
    641      * all the metadata servers. 
    642      */ 
    643     ret = PINT_cached_config_get_num_meta(sm_p->object_ref.fs_id, 
    644                                             &sm_p->u.mkdir.num_dirent_files); 
    645     if(ret < 0) 
    646     { 
    647         gossip_err("Error: failed to get number of metadata servers\n"); 
    648         js_p->error_code = ret; 
    649         return SM_ACTION_COMPLETE; 
    650     } 
    651  
    652 #if 0 
    653638    /* set value of num_dirent_files,  
    654      * max(max(parent_num, command_line) [client], config_file)[server] */ 
    655     sm_p->u.mkdir.num_dirent_files = attr->u.dir.dist_dir_attr.num_servers; 
    656  
    657     /* TODO: get command line value of NumDirdata */ 
     639     * not considering parent_# since it doesn't have direct relation.  
     640     * here, if user has inputs, send it, otherwise, send 0. 
     641     * on server side, if met 0, use config_file data, otherwise use user set value   */ 
     642 
     643    /* get command line value of NumDirdata from sys_attr */ 
     644    sm_p->u.mkdir.num_dirent_files = sm_p->u.mkdir.sys_attr.dirdata_count; 
     645 
    658646 
    659647    /* note: if select less # of dirdata servers, need to modify getattr, etc. to contact only active servers, not all dirdata servers */ 
    660 #endif 
    661648 
    662649    return SM_ACTION_COMPLETE;