forked from luck/tmp_suning_uos_patched
btrfs: drop local copy of inode i_mode
There isn't real use of making struct inode::i_mode a local copy, it saves a dereference one time, not much. Just use it directly. Signed-off-by: Anand Jain <anand.jain@oracle.com> Reviewed-by: David Sterba <dsterba@suse.com> Signed-off-by: David Sterba <dsterba@suse.com>
This commit is contained in:
parent
3c8d8b6357
commit
44e5194b5e
|
@ -189,7 +189,6 @@ static int btrfs_ioctl_setflags(struct file *file, void __user *arg)
|
|||
struct btrfs_trans_handle *trans;
|
||||
unsigned int fsflags;
|
||||
int ret;
|
||||
umode_t mode;
|
||||
const char *comp = NULL;
|
||||
u32 binode_flags = binode->flags;
|
||||
|
||||
|
@ -212,8 +211,6 @@ static int btrfs_ioctl_setflags(struct file *file, void __user *arg)
|
|||
|
||||
inode_lock(inode);
|
||||
|
||||
mode = inode->i_mode;
|
||||
|
||||
fsflags = btrfs_mask_fsflags_for_type(inode, fsflags);
|
||||
if ((fsflags ^ btrfs_inode_flags_to_fsflags(binode->flags)) &
|
||||
(FS_APPEND_FL | FS_IMMUTABLE_FL)) {
|
||||
|
@ -248,7 +245,7 @@ static int btrfs_ioctl_setflags(struct file *file, void __user *arg)
|
|||
else
|
||||
binode_flags &= ~BTRFS_INODE_DIRSYNC;
|
||||
if (fsflags & FS_NOCOW_FL) {
|
||||
if (S_ISREG(mode)) {
|
||||
if (S_ISREG(inode->i_mode)) {
|
||||
/*
|
||||
* It's safe to turn csums off here, no extents exist.
|
||||
* Otherwise we want the flag to reflect the real COW
|
||||
|
@ -264,7 +261,7 @@ static int btrfs_ioctl_setflags(struct file *file, void __user *arg)
|
|||
/*
|
||||
* Revert back under same assumptions as above
|
||||
*/
|
||||
if (S_ISREG(mode)) {
|
||||
if (S_ISREG(inode->i_mode)) {
|
||||
if (inode->i_size == 0)
|
||||
binode_flags &= ~(BTRFS_INODE_NODATACOW |
|
||||
BTRFS_INODE_NODATASUM);
|
||||
|
|
Loading…
Reference in New Issue
Block a user