Bladeren bron

[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>

David Chinner 19 jaren geleden
bovenliggende
commit
714250879e
1 gewijzigde bestanden met toevoegingen van 2 en 1 verwijderingen
  1. 2 1
      fs/xfs/xfs_inode.c

+ 2 - 1
fs/xfs/xfs_inode.c

@@ -2757,7 +2757,8 @@ xfs_iunpin(
 			if (vp) {
 			if (vp) {
 				struct inode	*inode = vn_to_inode(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);
 					mark_inode_dirty_sync(inode);
 			}
 			}
 		}
 		}