diff options
author | Christoph Hellwig <hch@infradead.org> | 2010-03-12 09:42:00 +1100 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2010-04-26 07:41:14 -0700 |
commit | b1d0040c6ec4b45cdcf5a4d788c50e58b7c0b20e (patch) | |
tree | 27e5281ca1a1a9455639bb0f653efaa676805294 /fs/xfs/xfs_iomap.c | |
parent | f2a111377a25d43ce14212ed616e1e7f6bf31488 (diff) |
xfs: fix mmap_sem/iolock inversion in xfs_free_eofblocks
commit c56c9631cbe88f08854a56ff9776c1f310916830 upstream
When xfs_free_eofblocks is called from ->release the VM might already
hold the mmap_sem, but in the write path we take the iolock before
taking the mmap_sem in the generic write code.
Switch xfs_free_eofblocks to only trylock the iolock if called from
->release and skip trimming the prellocated blocks in that case.
We'll still free them later on the final iput.
Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Alex Elder <aelder@sgi.com>
Signed-off-by: Alex Elder <aelder@sgi.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'fs/xfs/xfs_iomap.c')
0 files changed, 0 insertions, 0 deletions