]> err.no Git - linux-2.6/commit
[XFS] Fixing the error caused by the conflict between DIO Write's
authorYingping Lu <yingping@sgi.com>
Wed, 22 Mar 2006 01:44:35 +0000 (12:44 +1100)
committerNathan Scott <nathans@sgi.com>
Wed, 22 Mar 2006 01:44:35 +0000 (12:44 +1100)
commit9fa8046f50bcb88ab9183ee1f22de5adc42bf92a
treedb564e5da4244025afc24e966166e59009f941b3
parentf1fdc848aab7fb95b32e058b7f06cc07912b3734
[XFS] Fixing the error caused by the conflict between DIO Write's
conversion and concurrent truncate operations. Use vn_iowait to wait for
the completion of any pending DIOs. Since the truncate requires exclusive
IOLOCK, so this blocks any further DIO operations since DIO write also
needs exclusive IOBLOCK. This serves as a barrier and prevent any
potential starvation.

SGI-PV: 947420
SGI-Modid: xfs-linux-melb:xfs-kern:208088a

Signed-off-by: Yingping Lu <yingping@sgi.com>
Signed-off-by: Nathan Scott <nathans@sgi.com>
fs/xfs/xfs_inode.c
fs/xfs/xfs_vnodeops.c