Whamcloud - gitweb
Branch HEAD
authorhuanghua <huanghua>
Thu, 3 Jul 2008 15:30:56 +0000 (15:30 +0000)
committerhuanghua <huanghua>
Thu, 3 Jul 2008 15:30:56 +0000 (15:30 +0000)
b=15552
i=adilger
i=nikita.danilov

- mapping ino for FID into [2B, 4B]

lustre/liblustre/llite_fid.c
lustre/llite/llite_fid.c

index af1d887..b104a4b 100644 (file)
@@ -57,6 +57,17 @@ unsigned long llu_fid_build_ino(struct llu_sb_info *sbi,
 {
         unsigned long ino;
         ENTRY;
+
+        if (fid_is_igif(fid)) {
+                ino = lu_igif_ino(fid);
+                RETURN(ino);
+        }
+
         ino = fid_flatten(fid);
-        RETURN(ino & 0x7fffffff);
+
+        if (unlikely(ino == 0))
+                /* the first result ino is 0xFFC001, so this is rarely used */
+                ino = 0xffbcde;
+        ino = ino | 0x80000000;
+        RETURN(ino);
 }
index 4630575..f334514 100644 (file)
@@ -57,5 +57,6 @@ ino_t ll_fid_build_ino(struct ll_sb_info *sbi,
         if (unlikely(ino == 0))
                 /* the first result ino is 0xFFC001, so this is rarely used */
                 ino = 0xffbcde; 
+        ino = ino | 0x80000000;
         RETURN(ino);
 }