Whamcloud - gitweb
LU-10988 lfsck: load object attr when prepare LFSCK request
[fs/lustre-release.git] / lustre / lfsck / lfsck_namespace.c
index fd41129..d490fd4 100644 (file)
@@ -4112,14 +4112,19 @@ static void lfsck_namespace_close_dir(const struct lu_env *env,
        struct lfsck_instance           *lfsck  = com->lc_lfsck;
        struct lfsck_lmv                *llmv   = lfsck->li_lmv;
        struct lfsck_namespace_req      *lnr;
-       __u32                            size   =
-                               sizeof(*lnr) + LFSCK_TMPBUF_LEN;
-       bool                             wakeup = false;
+       struct lu_attr *la = &lfsck_env_info(env)->lti_la2;
+       __u32 size = sizeof(*lnr) + LFSCK_TMPBUF_LEN;
+       int rc;
+       bool wakeup = false;
        ENTRY;
 
        if (llmv == NULL)
                RETURN_EXIT;
 
+       rc = dt_attr_get(env, lfsck->li_obj_dir, la);
+       if (rc)
+               RETURN_EXIT;
+
        OBD_ALLOC(lnr, size);
        if (lnr == NULL) {
                ns->ln_striped_dirs_skipped++;
@@ -4128,7 +4133,7 @@ static void lfsck_namespace_close_dir(const struct lu_env *env,
        }
 
        lso = lfsck_assistant_object_init(env, lfsck_dto2fid(lfsck->li_obj_dir),
-                       NULL, lfsck->li_pos_current.lp_oit_cookie, true);
+                       la, lfsck->li_pos_current.lp_oit_cookie, true);
        if (IS_ERR(lso)) {
                OBD_FREE(lnr, size);
                ns->ln_striped_dirs_skipped++;