Whamcloud - gitweb
LU-5266 ldlm: granting the same lock twice on recovery
[fs/lustre-release.git] / lustre / lmv / lmv_fld.c
index 62eb0d7..1874f17 100644 (file)
@@ -41,7 +41,7 @@
 #include <linux/init.h>
 #include <linux/slab.h>
 #include <linux/pagemap.h>
-#include <asm/div64.h>
+#include <linux/math64.h>
 #include <linux/seq_file.h>
 #else
 #include <liblustre.h>
@@ -61,19 +61,15 @@ int lmv_fld_lookup(struct lmv_obd *lmv,
                    const struct lu_fid *fid,
                    mdsno_t *mds)
 {
-        int rc;
-        ENTRY;
+       int rc;
+       ENTRY;
 
-        LASSERT(fid_is_sane(fid));
 
-       /* FIXME: Because ZFS still use LOCAL fid sequence for root,
-        * and root will always be in MDT0, for local fid, it will
-        * return 0 directly. And it should be removed once the root
-        * FID has been assigned with special sequence */
-       if (fid_seq(fid) == FID_SEQ_LOCAL_FILE) {
-               *mds = 0;
-               RETURN(0);
-       }
+       /* FIXME: Currently ZFS still use local seq for ROOT unfortunately, and
+        * this fid_is_local check should be removed once LU-2240 is fixed */
+       LASSERTF((fid_seq_in_fldb(fid_seq(fid)) ||
+                 fid_seq_is_local_file(fid_seq(fid))) &&
+                fid_is_sane(fid), DFID" is insane!\n", PFID(fid));
 
        rc = fld_client_lookup(&lmv->lmv_fld, fid_seq(fid), mds,
                                LU_SEQ_RANGE_MDT, NULL);