diff options
author | Al Viro <viro@zeniv.linux.org.uk> | 2011-03-04 01:14:55 -0500 |
---|---|---|
committer | Bob Copeland <me@bobcopeland.com> | 2011-03-05 16:20:30 -0500 |
commit | 013e4f4a285d8c7d952d8d7be9f10783a85b5d3c (patch) | |
tree | 50f72ff88035306d4054bdfad5f2202db875d080 | |
parent | 85e2efbb1db9a18d218006706d6e4fbeb0216213 (diff) | |
download | op-kernel-dev-013e4f4a285d8c7d952d8d7be9f10783a85b5d3c.zip op-kernel-dev-013e4f4a285d8c7d952d8d7be9f10783a85b5d3c.tar.gz |
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>
-rw-r--r-- | fs/omfs/dir.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/fs/omfs/dir.c b/fs/omfs/dir.c index 393f3f6..9990fc8 100644 --- a/fs/omfs/dir.c +++ b/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; } |