Whamcloud - gitweb
LU-11111 lfsck: skip orphan processing
[fs/lustre-release.git] / lustre / lfsck / lfsck_engine.c
index 626c2bb..4eb62d4 100644 (file)
@@ -960,8 +960,19 @@ static int lfsck_master_oit_engine(const struct lu_env *env,
                                goto checkpoint;
                }
 
-               if (dt_object_exists(target))
-                       rc = lfsck_exec_oit(env, lfsck, target);
+               if (dt_object_exists(target)) {
+                       struct lu_attr la = { .la_valid = 0 };
+
+                       rc = dt_attr_get(env, target, &la);
+                       if (likely(!rc && (!(la.la_valid & LA_FLAGS) ||
+                                          !(la.la_flags & LUSTRE_ORPHAN_FL))))
+                               rc = lfsck_exec_oit(env, lfsck, target);
+                       else
+                               CDEBUG(D_INFO,
+                                      "%s: orphan "DFID", %llx/%x: rc = %d\n",
+                                      lfsck_lfsck2name(lfsck), PFID(fid),
+                                      la.la_valid, la.la_flags, rc);
+               }
 
                lfsck_object_put(env, target);
                if (rc != 0 && bk->lb_param & LPF_FAILOUT)