[XFS] xfssyncd is responsible for flushing inode or device's data by
extracting the work from its queue. In addition, this processing also decrement the inode's i_count. If there are any remaining works in queue before this process terminates, we have unbalanced increment and decrement of i_count. Thus it can cause assertion failure of vn_count. The fix allows xyssyncd to process any remaining work before it is shutdown. SGI-PV: 945935 SGI-Modid: xfs-linux-melb:xfs-kern:203970a Signed-off-by: Yingping Lu <yingping@sgi.com> Signed-off-by: Nathan Scott <nathans@sgi.com>
This commit is contained in:
Родитель
75e17b3caf
Коммит
71df099dc3
|
@ -579,7 +579,7 @@ xfssyncd(
|
|||
timeleft = schedule_timeout_interruptible(timeleft);
|
||||
/* swsusp */
|
||||
try_to_freeze();
|
||||
if (kthread_should_stop())
|
||||
if (kthread_should_stop() && list_empty(&vfsp->vfs_sync_list))
|
||||
break;
|
||||
|
||||
spin_lock(&vfsp->vfs_sync_lock);
|
||||
|
|
Загрузка…
Ссылка в новой задаче