Whamcloud - gitweb
LU-15284 llite: access lli_lsm_md with lock in all places
[fs/lustre-release.git] / lustre / llite / file.c
index c9666be..066d209 100644 (file)
@@ -5170,12 +5170,14 @@ static int ll_merge_md_attr(struct inode *inode)
        struct cl_attr attr = { 0 };
        int rc;
 
-       LASSERT(lli->lli_lsm_md != NULL);
-
-       if (!lmv_dir_striped(lli->lli_lsm_md))
+       if (!lli->lli_lsm_md)
                RETURN(0);
 
        down_read(&lli->lli_lsm_sem);
+       if (!lmv_dir_striped(lli->lli_lsm_md)) {
+               up_read(&lli->lli_lsm_sem);
+               RETURN(0);
+       }
        rc = md_merge_attr(ll_i2mdexp(inode), ll_i2info(inode)->lli_lsm_md,
                           &attr, ll_md_blocking_ast);
        up_read(&lli->lli_lsm_sem);