aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--fs/btrfs/inode.c13
1 files changed, 7 insertions, 6 deletions
diff --git a/fs/btrfs/inode.c b/fs/btrfs/inode.c
index 1eacc78f6614..a48c084f6d3a 100644
--- a/fs/btrfs/inode.c
+++ b/fs/btrfs/inode.c
@@ -3587,12 +3587,6 @@ static struct inode *btrfs_new_inode(struct btrfs_trans_handle *trans,
3587 owner = 1; 3587 owner = 1;
3588 BTRFS_I(inode)->block_group = 3588 BTRFS_I(inode)->block_group =
3589 btrfs_find_block_group(root, 0, alloc_hint, owner); 3589 btrfs_find_block_group(root, 0, alloc_hint, owner);
3590 if ((mode & S_IFREG)) {
3591 if (btrfs_test_opt(root, NODATASUM))
3592 BTRFS_I(inode)->flags |= BTRFS_INODE_NODATASUM;
3593 if (btrfs_test_opt(root, NODATACOW))
3594 BTRFS_I(inode)->flags |= BTRFS_INODE_NODATACOW;
3595 }
3596 3590
3597 key[0].objectid = objectid; 3591 key[0].objectid = objectid;
3598 btrfs_set_key_type(&key[0], BTRFS_INODE_ITEM_KEY); 3592 btrfs_set_key_type(&key[0], BTRFS_INODE_ITEM_KEY);
@@ -3647,6 +3641,13 @@ static struct inode *btrfs_new_inode(struct btrfs_trans_handle *trans,
3647 3641
3648 btrfs_inherit_iflags(inode, dir); 3642 btrfs_inherit_iflags(inode, dir);
3649 3643
3644 if ((mode & S_IFREG)) {
3645 if (btrfs_test_opt(root, NODATASUM))
3646 BTRFS_I(inode)->flags |= BTRFS_INODE_NODATASUM;
3647 if (btrfs_test_opt(root, NODATACOW))
3648 BTRFS_I(inode)->flags |= BTRFS_INODE_NODATACOW;
3649 }
3650
3650 insert_inode_hash(inode); 3651 insert_inode_hash(inode);
3651 inode_tree_add(inode); 3652 inode_tree_add(inode);
3652 return inode; 3653 return inode;