nilfs2: put out gfp mask manipulation from nilfs_set_inode_flags()
nilfs_set_inode_flags() function adjusts gfp-mask of inode->i_mapping as well as i_flags, however, this coupling of operations is not appropriate. For instance, nilfs_ioctl_setflags(), one of three callers of nilfs_set_inode_flags(), doesn't need to reinitialize the gfp-mask at all. In addition, nilfs_new_inode(), another caller of nilfs_set_inode_flags(), doesn't either because it has already initialized the gfp-mask. Only __nilfs_read_inode(), the remaining caller, needs it. So, this moves the gfp mask manipulation to __nilfs_read_inode() from nilfs_set_inode_flags(). Signed-off-by: Ryusuke Konishi <konishi.ryusuke@lab.ntt.co.jp> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
parent
3377f843cf
commit
0ce187c4f3
@ -456,8 +456,6 @@ void nilfs_set_inode_flags(struct inode *inode)
|
||||
inode->i_flags |= S_NOATIME;
|
||||
if (flags & FS_DIRSYNC_FL)
|
||||
inode->i_flags |= S_DIRSYNC;
|
||||
mapping_set_gfp_mask(inode->i_mapping,
|
||||
mapping_gfp_mask(inode->i_mapping) & ~__GFP_FS);
|
||||
}
|
||||
|
||||
int nilfs_read_inode_common(struct inode *inode,
|
||||
@ -542,6 +540,8 @@ static int __nilfs_read_inode(struct super_block *sb,
|
||||
brelse(bh);
|
||||
up_read(&NILFS_MDT(nilfs->ns_dat)->mi_sem);
|
||||
nilfs_set_inode_flags(inode);
|
||||
mapping_set_gfp_mask(inode->i_mapping,
|
||||
mapping_gfp_mask(inode->i_mapping) & ~__GFP_FS);
|
||||
return 0;
|
||||
|
||||
failed_unmap:
|
||||
|
Loading…
Reference in New Issue
Block a user