Patchwork ext4: ext4_mknod: always set i_op

login
register
mail settings
Submitter Bernd Schubert
Date Sept. 5, 2012, 4:51 p.m.
Message ID <504782F8.2080005@itwm.fraunhofer.de>
Download mbox | patch
Permalink /patch/181903/
State Accepted, archived
Headers show

Comments

Bernd Schubert - Sept. 5, 2012, 4:51 p.m.
While I was looking through the code, I noticed i_op 
is not always initialized, although operations such 
as setattr probably always should be set.


ext4: ext4_mknod:  always set i_op

From: Bernd Schubert <bernd.schubert@itwm.fraunhofer.de>

ext4_special_inode_operations have their own ifdef CONFIG_EXT4_FS_XATTR
to mask those methods. And ext4_iget also always sets it, so there is
an inconsistency.

Signed-off-by: Bernd Schubert <bernd.schubert@itwm.fraunhofer.de>
---
 fs/ext4/namei.c |    2 --
 1 file changed, 2 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
Theodore Ts'o - Sept. 27, 2012, 1:25 a.m.
On Wed, Sep 05, 2012 at 06:51:04AM -0000, Bernd Schubert wrote:
> While I was looking through the code, I noticed i_op 
> is not always initialized, although operations such 
> as setattr probably always should be set.
> 
> 
> ext4: ext4_mknod:  always set i_op
> 
> From: Bernd Schubert <bernd.schubert@itwm.fraunhofer.de>
> 
> ext4_special_inode_operations have their own ifdef CONFIG_EXT4_FS_XATTR
> to mask those methods. And ext4_iget also always sets it, so there is
> an inconsistency.
> 
> Signed-off-by: Bernd Schubert <bernd.schubert@itwm.fraunhofer.de>

Applied, thanks!!

						- Ted
--
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 2a42cc0..d13873d 100644
--- a/fs/ext4/namei.c
+++ b/fs/ext4/namei.c
@@ -2149,9 +2149,7 @@  retry:
 	err = PTR_ERR(inode);
 	if (!IS_ERR(inode)) {
 		init_special_inode(inode, inode->i_mode, rdev);
-#ifdef CONFIG_EXT4_FS_XATTR
 		inode->i_op = &ext4_special_inode_operations;
-#endif
 		err = ext4_add_nondir(handle, dentry, inode);
 	}
 	ext4_journal_stop(handle);