- Timestamp:
- 08/22/10 20:10:19 (3 years ago)
- Files:
-
- 1 modified
Legend:
- Unmodified
- Added
- Removed
-
branches/Orange-Elaine-Distr-Dir-Branch/src/proto/pvfs2-attr.h
r8418 r8480 185 185 { 186 186 /* 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 */ 189 191 PVFS_size dirent_count; 190 192 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; 191 198 }; 192 199 typedef struct PVFS_directory_attr_s PVFS_directory_attr; … … 194 201 #ifdef __PINT_REQPROTO_ENCODE_FUNCS_C 195 202 #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;\ 201 204 encode_PVFS_size(pptr, &(x)->dirent_count);\ 202 205 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]);\ 203 212 } while(0) 204 213 … … 211 220 212 221 #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;\ 222 223 decode_PVFS_size(pptr, &(x)->dirent_count);\ 223 224 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]);\ 224 235 } while(0) 225 236 #endif
