Browse Source

omfs: rename() needs to mark old_inode dirty after ctime update

we *do* mark it dirty before, but it doesn't guarantee that we
don't get preempted just before assignment to ->i_ctime, with
inode getting written out before we get CPU back...

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Bob Copeland <me@bobcopeland.com>
Al Viro 14 years ago
parent
commit
013e4f4a28
1 changed files with 1 additions and 0 deletions
  1. 1 0
      fs/omfs/dir.c

+ 1 - 0
fs/omfs/dir.c

@@ -423,6 +423,7 @@ static int omfs_rename(struct inode *old_dir, struct dentry *old_dentry,
 		goto out;
 
 	old_inode->i_ctime = CURRENT_TIME_SEC;
+	mark_inode_dirty(old_inode);
 out:
 	return err;
 }