Whamcloud - gitweb
LU-10992 llite: decrease sa_running if fail to start statahead 87/32287/2
authorFan Yong <fan.yong@intel.com>
Fri, 4 May 2018 02:18:26 +0000 (10:18 +0800)
committerOleg Drokin <oleg.drokin@intel.com>
Sat, 12 May 2018 03:52:21 +0000 (03:52 +0000)
Otherwise the counter of ll_sb_info::ll_sa_running will leak as
to the umount process will be blocked for ever.

Signed-off-by: Fan Yong <fan.yong@intel.com>
Change-Id: I6b3a0dfb39f120a0c58184a22211b52376b41bd9
Reviewed-on: https://review.whamcloud.com/32287
Tested-by: Jenkins
Reviewed-by: Lai Siyao <lai.siyao@intel.com>
Reviewed-by: Bobi Jam <bobijam@hotmail.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
lustre/llite/statahead.c

index 2da5070..1c98b8c 100644 (file)
@@ -1594,6 +1594,7 @@ static int start_statahead_thread(struct inode *dir, struct dentry *dentry)
                spin_lock(&lli->lli_sa_lock);
                lli->lli_sai = NULL;
                spin_unlock(&lli->lli_sa_lock);
+               atomic_dec(&ll_i2sbi(parent->d_inode)->ll_sa_running);
                rc = PTR_ERR(task);
                CERROR("can't start ll_sa thread, rc: %d\n", rc);
                GOTO(out, rc);