]> err.no Git - linux-2.6/commitdiff
[XFS] Stop a BUG from occurring in generic_delete_inode by preventing
authorDavid Chinner <dgc@sgi.com>
Fri, 9 Jun 2006 04:55:52 +0000 (14:55 +1000)
committerNathan Scott <nathans@sgi.com>
Fri, 9 Jun 2006 04:55:52 +0000 (14:55 +1000)
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>
fs/xfs/xfs_inode.c

index 083fc0479e694181753b078f56517c65796e2e2d..df695e96806609202646a0819eee49e8461753a6 100644 (file)
@@ -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);
                        }
                }