summaryrefslogtreecommitdiffstats
path: root/fs/xfs
diff options
context:
space:
mode:
authorYingping Lu <yingping@sgi.com>2006-01-11 05:29:39 +0100
committerNathan Scott <nathans@sgi.com>2006-01-11 05:29:39 +0100
commit1661dc8e7a2c6aeb8f2fb6a8197909c95c220a71 (patch)
tree925c8d4f009a5d080fc5885619c619d9c1e4da71 /fs/xfs
parent[XFS] do barrier checks earlier. quota initialization may write to the (diff)
downloadlinux-1661dc8e7a2c6aeb8f2fb6a8197909c95c220a71.tar.xz
linux-1661dc8e7a2c6aeb8f2fb6a8197909c95c220a71.zip
[XFS] Fixed an assertion failure in xfs_reclaim caused by delayed block.
The assertion failure came from XFS QA41. The fix is done by enabling truncate for delayed block in xfs_inactive. SGI-PV: 945412 SGI-Modid: xfs-linux-melb:xfs-kern:202521a Signed-off-by: Yingping Lu <yingping@sgi.com> Signed-off-by: Nathan Scott <nathans@sgi.com>
Diffstat (limited to 'fs/xfs')
-rw-r--r--fs/xfs/xfs_vnodeops.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/fs/xfs/xfs_vnodeops.c b/fs/xfs/xfs_vnodeops.c
index a2b422c984f2..f6aed9ef6a61 100644
--- a/fs/xfs/xfs_vnodeops.c
+++ b/fs/xfs/xfs_vnodeops.c
@@ -1612,7 +1612,8 @@ xfs_inactive(
* only one with a reference to the inode.
*/
truncate = ((ip->i_d.di_nlink == 0) &&
- ((ip->i_d.di_size != 0) || (ip->i_d.di_nextents > 0)) &&
+ ((ip->i_d.di_size != 0) || (ip->i_d.di_nextents > 0) ||
+ (ip->i_delayed_blks > 0)) &&
((ip->i_d.di_mode & S_IFMT) == S_IFREG));
mp = ip->i_mount;