[XFS] Tight loop in xfs_finish_reclaim_all prevented the xfslogd to run
its queue of IO completion callbacks, thus creating the deadlock between umount and xfslogd. Breaking the loop solves the problem. SGI-PV: 943821 SGI-Modid: xfs-linux-melb:xfs-kern:202363a Signed-off-by: Felix Blyakher <felixb@sgi.com> Signed-off-by: Nathan Scott <nathans@sgi.com>
This commit is contained in:
parent
a4656391b7
commit
6b2cf618cc
@ -3958,8 +3958,9 @@ xfs_finish_reclaim_all(xfs_mount_t *mp, int noblock)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
XFS_MOUNT_IUNLOCK(mp);
|
XFS_MOUNT_IUNLOCK(mp);
|
||||||
xfs_finish_reclaim(ip, noblock,
|
if (xfs_finish_reclaim(ip, noblock,
|
||||||
XFS_IFLUSH_DELWRI_ELSE_ASYNC);
|
XFS_IFLUSH_DELWRI_ELSE_ASYNC))
|
||||||
|
delay(1);
|
||||||
purged = 1;
|
purged = 1;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user