diff options
author | David Chinner <dgc@sgi.com> | 2006-06-09 00:55:52 -0400 |
---|---|---|
committer | Nathan Scott <nathans@sgi.com> | 2006-06-09 00:55:52 -0400 |
commit | 714250879ea61cdb1a39bb96fe9d934ee0c669a2 (patch) | |
tree | 607f2b06c56d026f04721f99cd8dba884df86b75 /fs | |
parent | 6d192a9b82212abf1e0e89da6e3a952afba7e4d6 (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>
Diffstat (limited to 'fs')
-rw-r--r-- | fs/xfs/xfs_inode.c | 3 |
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 | } |