X-Git-Url: https://git.whamcloud.com/?a=blobdiff_plain;f=lustre%2Futils%2Fll_recover_lost_found_objs.c;h=4ac685d1ff757b75775b553620b2656a123a554c;hb=a6527b28ba2082a445fbf584909a7791ce407ef3;hp=d95fb5a23897602e5719affd751014d94708bd4c;hpb=90dfed8469d46f4b79ebdff8121eb109b5db6746;p=fs%2Flustre-release.git diff --git a/lustre/utils/ll_recover_lost_found_objs.c b/lustre/utils/ll_recover_lost_found_objs.c index d95fb5a..4ac685d 100644 --- a/lustre/utils/ll_recover_lost_found_objs.c +++ b/lustre/utils/ll_recover_lost_found_objs.c @@ -26,7 +26,7 @@ * GPL HEADER END */ /* - * Copyright 2008 Sun Microsystems, Inc. All rights reserved + * Copyright (c) 2009, 2010, Oracle and/or its affiliates. All rights reserved. * Use is subject to license terms. */ /* @@ -187,7 +187,7 @@ static unsigned filetype_dir_table[] = { static int traverse_lost_found(char *src_dir, const char *mount_path) { DIR *dir_ptr; - struct filter_fid trusted_fid; + struct filter_fid parent_fid; struct dirent64 *dirent; __u64 ff_group, ff_objid; char *file_path; @@ -252,25 +252,24 @@ static int traverse_lost_found(char *src_dir, const char *mount_path) case DT_REG: file_path = src_dir; xattr_len = getxattr(file_path, "trusted.fid", - (void *)&trusted_fid, - sizeof(trusted_fid)); + (void *)&parent_fid, + sizeof(parent_fid)); - if (xattr_len == -1 || xattr_len < sizeof(trusted_fid)) + if (xattr_len == -1 || xattr_len < sizeof(parent_fid)) /* * Its very much possible that we dont find fid * on precreated files, LAST_ID */ continue; - ff_group = le64_to_cpu(trusted_fid.ff_group); - ff_objid = le64_to_cpu(trusted_fid.ff_objid); - - if (ff_group >= MAX_GROUPS) { + ff_group = le64_to_cpu(parent_fid.ff_seq); + if (ff_group >= FID_SEQ_OST_MAX) { fprintf(stderr, "error: invalid group "LPU64" likely" "indicates a corrupt xattr for file %s.\n", ff_group, file_path); continue; } + ff_objid = le64_to_cpu(parent_fid.ff_objid); /* might need to create the parent directories for this object */