summaryrefslogtreecommitdiff
path: root/fs/xfs/xfs_fsops.c
diff options
context:
space:
mode:
authorFelix Blyakher <felixb@sgi.com>2009-05-08 00:49:45 (GMT)
committerFelix Blyakher <felixb@sgi.com>2009-06-02 03:59:29 (GMT)
commit1f23920dbf1377fa9e4aef4f3d20c34a06a71a35 (patch)
tree0fa80478499f1c42b2dc649659e1d1f22c6862f2 /fs/xfs/xfs_fsops.c
parent28e211700a81b0a934b6c7a4b8e7dda843634d2f (diff)
downloadlinux-1f23920dbf1377fa9e4aef4f3d20c34a06a71a35.tar.xz
xfs: fix double unlock in xfs_swap_extents()
Regreesion from commit ef8f7fc, which rearranged the code in xfs_swap_extents() leading to double unlock of xfs inode ilock. That resulted in xfs_fsr deadlocking itself on platforms, which don't handle double unlock of rw_semaphore nicely. It caused the count go negative, which represents the write holder, without really having one. ia64 is one of the platforms where deadlock was easily reproduced and the fix was tested. Signed-off-by: Eric Sandeen <sandeen@sandeen.net> Reviewed-by: Eric Sandeen <sandeen@sandeen.net> Signed-off-by: Felix Blyakher <felixb@sgi.com>
Diffstat (limited to 'fs/xfs/xfs_fsops.c')
0 files changed, 0 insertions, 0 deletions