| Submitter | Darrick J. Wong |
|---|---|
| Date | Aug. 17, 2011, 3:39 a.m. |
| Message ID | <20110817033954.GP20655@tux1.beaverton.ibm.com> |
| Download | mbox | patch |
| Permalink | /patch/110269/ |
| State | Accepted |
| Headers | show |
Comments
On Tue, Aug 16, 2011 at 08:39:54PM -0700, Darrick J. Wong wrote: > 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. Any thoughts about this one, Ted? --D > > Signed-off-by: Darrick J. Wong <djwong@us.ibm.com> > --- > > 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 2b5c34b..a2c2855 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); > -- > To unsubscribe from this list: send the line "unsubscribe linux-ext4" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html -- To unsubscribe from this list: send the line "unsubscribe linux-ext4" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Patch
diff --git a/fs/ext4/namei.c b/fs/ext4/namei.c index 2b5c34b..a2c2855 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);
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> --- fs/ext4/namei.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) -- To unsubscribe from this list: send the line "unsubscribe linux-ext4" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html