diff options
author | David Chinner <dgc@sgi.com> | 2006-06-09 06:55:52 +0200 |
---|---|---|
committer | Nathan Scott <nathans@sgi.com> | 2006-06-09 06:55:52 +0200 |
commit | 714250879ea61cdb1a39bb96fe9d934ee0c669a2 (patch) | |
tree | 607f2b06c56d026f04721f99cd8dba884df86b75 /fs | |
parent | [XFS] inode items and EFI/EFDs have different ondisk format for 32bit and (diff) | |
download | linux-714250879ea61cdb1a39bb96fe9d934ee0c669a2.tar.xz linux-714250879ea61cdb1a39bb96fe9d934ee0c669a2.zip |
[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( 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); } } |