X-Git-Url: https://git.whamcloud.com/?p=fs%2Flustre-release.git;a=blobdiff_plain;f=lustre%2Fllite%2Fllite_fid.c;h=46305759b7bb61e09aef5519ed0280889ba4ddbd;hp=85ad4f3d7146e1502b55df10c47606ed27cec52b;hb=6dd4e216db811187ae024bd9e9ed2718a024eac4;hpb=d2d56f38da01001c92a09afc6b52b5acbd9bc13c diff --git a/lustre/llite/llite_fid.c b/lustre/llite/llite_fid.c index 85ad4f3..4630575 100644 --- a/lustre/llite/llite_fid.c +++ b/lustre/llite/llite_fid.c @@ -43,10 +43,19 @@ ino_t ll_fid_build_ino(struct ll_sb_info *sbi, ino_t ino; ENTRY; + if (fid_is_igif(fid)) { + ino = lu_igif_ino(fid); + RETURN(ino); + } + /* * Very stupid and having many downsides inode allocation algorithm * based on fid. */ ino = fid_flatten(fid); - RETURN(ino & 0x7fffffff); + + if (unlikely(ino == 0)) + /* the first result ino is 0xFFC001, so this is rarely used */ + ino = 0xffbcde; + RETURN(ino); }