Whamcloud - gitweb
LU-12895 mdt: check if object exists first 32/37032/3
authorSebastien Buisson <sbuisson@ddn.com>
Thu, 31 Oct 2019 11:33:45 +0000 (20:33 +0900)
committerOleg Drokin <green@whamcloud.com>
Fri, 3 Jan 2020 23:44:07 +0000 (23:44 +0000)
Make sure object exists before trying to get its attr.

Lustre-change: https://review.whamcloud.com/36629
Lustre-commit: ca68e3d677a371497586167a2318268db1d94cab

Test-Parameters: clientselinux mdtcount=4 envdefinitions=ONLY=185a testlist=sanity,sanity,sanity,sanity
Test-Parameters: clientselinux mdtcount=4 testlist=sanity,recovery-small,sanity-sec
Signed-off-by: Sebastien Buisson <sbuisson@ddn.com>
Change-Id: Idb2cd5d6e3fdf7998040b933be54a001a0e5391b
Reviewed-on: https://review.whamcloud.com/37032
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
lustre/mdt/mdt_handler.c

index 85f1ce2..da2547d 100644 (file)
@@ -1884,9 +1884,9 @@ static int mdt_getattr_name_lock(struct mdt_thread_info *info,
                         PLDLMRES(lock->l_resource),
                         PFID(mdt_object_fid(child)));
 
-               if (S_ISREG(lu_object_attr(&child->mot_obj)) &&
-                   mdt_object_exists(child) && !mdt_object_remote(child) &&
-                   child != parent) {
+               if (mdt_object_exists(child) &&
+                   S_ISREG(lu_object_attr(&child->mot_obj)) &&
+                   !mdt_object_remote(child) && child != parent) {
                        LDLM_LOCK_PUT(lock);
                        mdt_object_put(info->mti_env, child);
                        /* NB: call the mdt_pack_size2body always after