aboutsummaryrefslogtreecommitdiffstats
path: root/fs
diff options
context:
space:
mode:
authorYingping Lu <yingping@sgi.com>2006-01-10 23:29:39 -0500
committerNathan Scott <nathans@sgi.com>2006-01-10 23:29:39 -0500
commit1661dc8e7a2c6aeb8f2fb6a8197909c95c220a71 (patch)
tree925c8d4f009a5d080fc5885619c619d9c1e4da71 /fs
parentc7d437da3dda0ac7199c320b6a48c04ec37a614d (diff)
[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')
-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(
1612 * only one with a reference to the inode. 1612 * only one with a reference to the inode.
1613 */ 1613 */
1614 truncate = ((ip->i_d.di_nlink == 0) && 1614 truncate = ((ip->i_d.di_nlink == 0) &&
1615 ((ip->i_d.di_size != 0) || (ip->i_d.di_nextents > 0)) && 1615 ((ip->i_d.di_size != 0) || (ip->i_d.di_nextents > 0) ||
1616 (ip->i_delayed_blks > 0)) &&
1616 ((ip->i_d.di_mode & S_IFMT) == S_IFREG)); 1617 ((ip->i_d.di_mode & S_IFMT) == S_IFREG));
1617 1618
1618 mp = ip->i_mount; 1619 mp = ip->i_mount;