Whamcloud - gitweb
LU-3659 llog: missed dt_try_as_dir() in llog_osd_dir_get()
[fs/lustre-release.git] / lustre / obdclass / llog_osd.c
index de7c0b5..57dcd76 100644 (file)
@@ -774,6 +774,11 @@ struct dt_object *llog_osd_dir_get(const struct lu_env *env,
                if (rc)
                        return ERR_PTR(rc);
                dir = dt_locate(env, dt, &dti->dti_fid);
+
+               if (!IS_ERR(dir) && !dt_try_as_dir(env, dir)) {
+                       lu_object_put(env, &dir->do_lu);
+                       return ERR_PTR(-ENOTDIR);
+               }
        } else {
                lu_object_get(&ctxt->loc_dir->do_lu);
                dir = ctxt->loc_dir;