| 917 | | /* get the dirdata handle and validate */ |
| 918 | | err = PVFS_mgmt_get_dirdata_handle |
| 919 | | (*obj_ref, &dirdata_handle, (PVFS_credentials *) creds, NULL); |
| | 918 | /* get the dirdata handles and validate */ |
| | 919 | dirdata_count = attributes->attr.dirdata_count; |
| | 920 | dirdata_handles = (PVFS_handle *) malloc(dirdata_count * sizeof(PVFS_handle)); |
| | 921 | if(!dirdata_handles) |
| | 922 | { |
| | 923 | gossip_err("Error: no memory for dirdata array\n"); |
| | 924 | return -PVFS_ENOMEM; |
| | 925 | } |
| | 926 | |
| | 927 | err = PVFS_mgmt_get_dirdata_array(*obj_ref, (PVFS_credentials *) creds, |
| | 928 | dirdata_handles, dirdata_count, NULL); |
| 926 | | err = PVFS_fsck_validate_dirdata |
| 927 | | (fsck_options, &dirdata_handle, &obj_ref->fs_id, creds); |
| 928 | | if(err < 0) |
| 929 | | { |
| 930 | | gossip_err("Error: directory dirdata is invalid\n"); |
| 931 | | return(err); |
| 932 | | } |
| 933 | | set_return_code(&ret, err); |
| | 936 | for (i = 0; i < dirdata_count; i++) |
| | 937 | { |
| | 938 | err = PVFS_fsck_validate_dirdata |
| | 939 | (fsck_options, &dirdata_handles[i], &obj_ref->fs_id, creds); |
| | 940 | if(err < 0) |
| | 941 | { |
| | 942 | gossip_err("Error: directory dirdata is invalid\n"); |
| | 943 | free(dirdata_handles); |
| | 944 | return(err); |
| | 945 | } |
| | 946 | set_return_code(&ret, err); |
| | 947 | } |
| | 948 | |
| | 949 | free(dirdata_handles); |