btrfs: always set NODATASUM/NODATACOW in __create_free_space_inode
authorNikolay Borisov <nborisov@suse.com>
Thu, 3 Dec 2020 08:09:49 +0000 (10:09 +0200)
committerDavid Sterba <dsterba@suse.com>
Wed, 9 Dec 2020 18:16:06 +0000 (19:16 +0100)
Since it's being used solely for the freespace cache unconditionally
set the flags required for it.

Signed-off-by: Nikolay Borisov <nborisov@suse.com>
Reviewed-by: David Sterba <dsterba@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
fs/btrfs/free-space-cache.c

index 53df853..bc29317 100644 (file)
@@ -142,17 +142,15 @@ static int __create_free_space_inode(struct btrfs_root *root,
        struct btrfs_free_space_header *header;
        struct btrfs_inode_item *inode_item;
        struct extent_buffer *leaf;
-       u64 flags = BTRFS_INODE_NOCOMPRESS | BTRFS_INODE_PREALLOC;
+       /* We inline CRCs for the free disk space cache */
+       const u64 flags = BTRFS_INODE_NOCOMPRESS | BTRFS_INODE_PREALLOC |
+                         BTRFS_INODE_NODATASUM | BTRFS_INODE_NODATACOW;
        int ret;
 
        ret = btrfs_insert_empty_inode(trans, root, path, ino);
        if (ret)
                return ret;
 
-       /* We inline crc's for the free disk space cache */
-       if (ino != BTRFS_FREE_INO_OBJECTID)
-               flags |= BTRFS_INODE_NODATASUM | BTRFS_INODE_NODATACOW;
-
        leaf = path->nodes[0];
        inode_item = btrfs_item_ptr(leaf, path->slots[0],
                                    struct btrfs_inode_item);