Revert "xfs: fix filesystsem freeze race in xfs_trans_alloc"
authorAlex Elder <aelder@sgi.com>
Mon, 11 Jul 2011 14:51:44 +0000 (09:51 -0500)
committerAlex Elder <aelder@sgi.com>
Mon, 11 Jul 2011 15:21:03 +0000 (10:21 -0500)
commitb2ce39740066604288876c752d8170b3b17a21aa
treefd51670cea52d4c4421ce98a65e8b4979535fb97
parent81463b1ca8dbd2f4f180feac3f49c7640e2b5f79
Revert "xfs: fix filesystsem freeze race in xfs_trans_alloc"

This reverts commit 7a249cf83da1813cfa71cfe1e265b40045eceb47.

That commit created a situation that could lead to a filesystem
hang.  As Dave Chinner pointed out, xfs_trans_alloc() could hold a
reference to m_active_trans (i.e., keep it non-zero) and then wait
for SB_FREEZE_TRANS to complete.  Meanwhile a filesystem freeze
request could set SB_FREEZE_TRANS and then wait for m_active_trans
to drop to zero.  Nobody benefits from this sequence of events...

Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Alex Elder <aelder@sgi.com>
fs/xfs/xfs_fsops.c
fs/xfs/xfs_iomap.c
fs/xfs/xfs_mount.c
fs/xfs/xfs_trans.c
fs/xfs/xfs_trans.h