diff options
author | Darrick J. Wong <djwong@us.ibm.com> | 2011-08-31 12:00:51 -0400 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2011-11-11 09:36:34 -0800 |
commit | 37915713a96e05b5d731b9457a0cf22ced00f36f (patch) | |
tree | 38c51284f1199893ef081a2c592e1412fc5ae976 | |
parent | a848dee39f54f1eb9d9b90ef172ec4e813815e21 (diff) |
ext4: ext4_mkdir should dirty dir_block with newly created directory inode
commit f9287c1f2d329f4d78a3bbc9cf0db0ebae6f146a upstream.
ext4_mkdir calls ext4_handle_dirty_metadata with dir_block and the inode "dir".
Unfortunately, dir_block belongs to the newly created directory (which is
"inode"), not the parent directory (which is "dir"). Fix the incorrect
association.
Signed-off-by: Darrick J. Wong <djwong@us.ibm.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-rw-r--r-- | fs/ext4/namei.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/fs/ext4/namei.c b/fs/ext4/namei.c index 92875a41f51f..b1fba2c8c181 100644 --- a/fs/ext4/namei.c +++ b/fs/ext4/namei.c @@ -1866,7 +1866,7 @@ retry: ext4_set_de_type(dir->i_sb, de, S_IFDIR); inode->i_nlink = 2; BUFFER_TRACE(dir_block, "call ext4_handle_dirty_metadata"); - err = ext4_handle_dirty_metadata(handle, dir, dir_block); + err = ext4_handle_dirty_metadata(handle, inode, dir_block); if (err) goto out_clear_inode; err = ext4_mark_inode_dirty(handle, inode); |