btrfs: reduce size and reorder compression members in struct btrfs_inode
authorDavid Sterba <dsterba@suse.com>
Thu, 7 Sep 2023 23:09:38 +0000 (01:09 +0200)
committerDavid Sterba <dsterba@suse.com>
Thu, 12 Oct 2023 14:44:04 +0000 (16:44 +0200)
Currently the compression type values are bounded and fit to an u8, we
can pack the btrfs_inode a bit by reordering them to the space created
by the location key. This reduces size from 1112 to 1104.

Reviewed-by: Qu Wenruo <wqu@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
fs/btrfs/btrfs_inode.h

index b675dc09845d77795c5b45d6cd96ac4992cc9f58..4311ac9ca0ae01d0006811a060d6b31e0412a038 100644 (file)
@@ -81,6 +81,15 @@ struct btrfs_inode {
         */
        struct btrfs_key location;
 
+       /* Cached value of inode property 'compression'. */
+       u8 prop_compress;
+
+       /*
+        * Force compression on the file using the defrag ioctl, could be
+        * different from prop_compress and takes precedence if set.
+        */
+       u8 defrag_compress;
+
        /*
         * Lock for counters and all fields used to determine if the inode is in
         * the log or not (last_trans, last_sub_trans, last_log_commit,
@@ -235,16 +244,6 @@ struct btrfs_inode {
 
        struct btrfs_block_rsv block_rsv;
 
-       /*
-        * Cached values of inode properties
-        */
-       unsigned prop_compress;         /* per-file compression algorithm */
-       /*
-        * Force compression on the file using the defrag ioctl, could be
-        * different from prop_compress and takes precedence if set
-        */
-       unsigned defrag_compress;
-
        struct btrfs_delayed_node *delayed_node;
 
        /* File creation time. */