Skip to content

Commit

Permalink
[XFS] Fix xfs_ichgtime()s broken usage of I_SYNC
Browse files Browse the repository at this point in the history
The recent I_LOCK->I_SYNC changes mistakenly changed xfs_ichgtime to look
at I_SYNC instead of I_LOCK. This was incorrect and prevents newly created
inodes from moving to the dirty list. Change this to the correct check
which is for I_NEW, not I_LOCK or I_SYNC so that behaviour is correct.

SGI-PV: 974225
SGI-Modid: xfs-linux-melb:xfs-kern:30204a

Signed-off-by: David Chinner <dgc@sgi.com>
Signed-off-by: Lachlan McIlroy <lachlan@sgi.com>
  • Loading branch information
David Chinner authored and Lachlan McIlroy committed Dec 10, 2007
1 parent 978c7b2 commit cf10e82
Showing 1 changed file with 2 additions and 2 deletions.
4 changes: 2 additions & 2 deletions fs/xfs/linux-2.6/xfs_iops.c
Original file line number Diff line number Diff line change
Expand Up @@ -117,7 +117,7 @@ xfs_ichgtime(
*/
SYNCHRONIZE();
ip->i_update_core = 1;
if (!(inode->i_state & I_SYNC))
if (!(inode->i_state & I_NEW))
mark_inode_dirty_sync(inode);
}

Expand Down Expand Up @@ -169,7 +169,7 @@ xfs_ichgtime_fast(
*/
SYNCHRONIZE();
ip->i_update_core = 1;
if (!(inode->i_state & I_SYNC))
if (!(inode->i_state & I_NEW))
mark_inode_dirty_sync(inode);
}

Expand Down

0 comments on commit cf10e82

Please sign in to comment.