aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavid Chinner <dgc@sgi.com>2006-06-09 00:55:52 -0400
committerNathan Scott <nathans@sgi.com>2006-06-09 00:55:52 -0400
commit714250879ea61cdb1a39bb96fe9d934ee0c669a2 (patch)
tree607f2b06c56d026f04721f99cd8dba884df86b75
parent6d192a9b82212abf1e0e89da6e3a952afba7e4d6 (diff)
[XFS] Stop a BUG from occurring in generic_delete_inode by preventing
transaction completion from marking the inode dirty while it is being cleaned up on it's way out of the system. SGI-PV: 952967 SGI-Modid: xfs-linux-melb:xfs-kern:26040a Signed-off-by: David Chinner <dgc@sgi.com> Signed-off-by: Nathan Scott <nathans@sgi.com>
-rw-r--r--fs/xfs/xfs_inode.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/fs/xfs/xfs_inode.c b/fs/xfs/xfs_inode.c
index 083fc0479e69..df695e968066 100644
--- a/fs/xfs/xfs_inode.c
+++ b/fs/xfs/xfs_inode.c
@@ -2757,7 +2757,8 @@ xfs_iunpin(
2757 if (vp) { 2757 if (vp) {
2758 struct inode *inode = vn_to_inode(vp); 2758 struct inode *inode = vn_to_inode(vp);
2759 2759
2760 if (!(inode->i_state & I_NEW)) 2760 if (!(inode->i_state &
2761 (I_NEW|I_FREEING|I_CLEAR)))
2761 mark_inode_dirty_sync(inode); 2762 mark_inode_dirty_sync(inode);
2762 } 2763 }
2763 } 2764 }