Show
Ignore:
Timestamp:
08/22/10 20:10:19 (3 years ago)
Author:
shuangy
Message:

incorporate dist-dir-struct to the source tree. It's compilable but not runnable. still have a lot to change and add. Commit as a touch base.

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • branches/Orange-Elaine-Distr-Dir-Branch/src/proto/pvfs2-attr.h

    r8418 r8480  
    185185{ 
    186186    /* list of files to hold directory entries */ 
    187     PVFS_handle *dirent_handle; 
    188     uint32_t dirent_file_count; 
     187    /*  
     188    PVFS_handle *dirent_handle;  
     189    uint32_t dirent_file_count;  
     190    */ 
    189191    PVFS_size dirent_count; 
    190192    PVFS_directory_hint hint; 
     193 
     194    /* distributed directory parameters */ 
     195    PVFS_dist_dir_attr dist_dir_attr; 
     196    PVFS_dist_dir_bitmap dist_dir_bitmap; 
     197    PVFS_handle *dirdata_handles; 
    191198}; 
    192199typedef struct PVFS_directory_attr_s PVFS_directory_attr; 
     
    194201#ifdef __PINT_REQPROTO_ENCODE_FUNCS_C 
    195202#define encode_PVFS_directory_attr(pptr, x) do { \ 
    196     int dirent_files_i;\ 
    197     encode_uint32_t(pptr, &(x)->dirent_file_count);\ 
    198     for (dirent_files_i=0; dirent_files_i<(x)->dirent_file_count; dirent_files_i++)\ 
    199         encode_PVFS_handle(pptr, &(x)->dirent_handle[dirent_files_i]);\ 
    200     encode_skip4(pptr,);\ 
     203    int index_i;\ 
    201204    encode_PVFS_size(pptr, &(x)->dirent_count);\ 
    202205    encode_PVFS_directory_hint(pptr, &(x)->hint);\ 
     206    encode_PVFS_dist_dir_attr(pptr, &(x)->dist_dir_attr);\ 
     207    for (index_i=0; index_i<(x)->dist_dir_attr.bitmap_size; index_i++)\ 
     208        encode_PVFS_dist_dir_bitmap_basetype(pptr, &(x)->dist_dir_bitmap[index_i]);\ 
     209    encode_skip4(pptr,);\ 
     210    for (index_i=0; index_i<(x)->dist_dir_attr.num_servers; index_i++)\ 
     211        encode_PVFS_handle(pptr, &(x)->dirdata_handles[index_i]);\ 
    203212} while(0) 
    204213 
     
    211220 
    212221#define decode_PVFS_directory_attr(pptr, x) do { \ 
    213     int dirent_files_i;\ 
    214     decode_uint32_t(pptr, &(x)->dirent_file_count);\ 
    215     (x)->dirent_handle = decode_malloc((x)->dirent_file_count \ 
    216       * sizeof(*(x)->dirent_handle));\ 
    217     for (dirent_files_i=0; dirent_files_i<(x)->dirent_file_count; dirent_files_i++)\ 
    218     { \ 
    219         decode_PVFS_handle(pptr, &(x)->dirent_handle[dirent_files_i]);\ 
    220     } \ 
    221     decode_skip4(pptr,);\ 
     222    int index_i;\ 
    222223    decode_PVFS_size(pptr, &(x)->dirent_count);\ 
    223224    decode_PVFS_directory_hint(pptr, &(x)->hint);\ 
     225    decode_PVFS_dist_dir_attr(pptr, &(x)->dist_dir_attr);\ 
     226    (x)->dist_dir_bitmap = decode_malloc((x)->dist_dir_attr.bitmap_size * \ 
     227        sizeof(PVFS_dist_dir_bitmap_basetype));\ 
     228    for(index_i=0; index_i<(x)->dist_dir_attr.bitmap_size; index_i++)\ 
     229        decode_PVFS_dist_dir_bitmap_basetype(pptr, &(x)->dist_dir_bitmap[index_i]);\ 
     230    decode_skip4(pptr,);\ 
     231    (x)->dirdata_handles = decode_malloc((x)->dist_dir_attr.num_servers * \ 
     232        sizeof(*(x)->dirdata_handles));\ 
     233    for(index_i=0; index_i<(x)->dist_dir_attr.num_servers; index_i++)\ 
     234        decode_PVFS_handle(pptr, &(x)->dirdata_handles[index_i]);\ 
    224235} while(0) 
    225236#endif