diff options
author | David Chinner <dgc@sgi.com> | 2006-06-09 14:55:52 +1000 |
---|---|---|
committer | Nathan Scott <nathans@sgi.com> | 2006-06-09 14:55:52 +1000 |
commit | 714250879ea61cdb1a39bb96fe9d934ee0c669a2 (patch) | |
tree | 607f2b06c56d026f04721f99cd8dba884df86b75 /fs/xfs | |
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/xfs')
-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 083fc0479e6..df695e96806 100644 --- a/fs/xfs/xfs_inode.c +++ b/fs/xfs/xfs_inode.c @@ -2757,7 +2757,8 @@ xfs_iunpin( if (vp) { struct inode *inode = vn_to_inode(vp); - if (!(inode->i_state & I_NEW)) + if (!(inode->i_state & + (I_NEW|I_FREEING|I_CLEAR))) mark_inode_dirty_sync(inode); } } |