btrfs: make array types static const, reduces object code size
authorColin Ian King <colin.king@canonical.com>
Tue, 19 Sep 2017 15:01:23 +0000 (16:01 +0100)
committerDavid Sterba <dsterba@suse.com>
Mon, 30 Oct 2017 11:27:57 +0000 (12:27 +0100)
Don't populate the read-only array types on the stack, instead make
it static const.  Makes the object code smaller by nearly 60 bytes:

Before:
   text    data     bss     dec     hex filename
  90536    6552      64   97152   17b80 fs/btrfs/ioctl.o

After:
   text    data     bss     dec     hex filename
  90414    6616      64   97094   17b46 fs/btrfs/ioctl.o

Signed-off-by: Colin Ian King <colin.king@canonical.com>
Reviewed-by: David Sterba <dsterba@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
fs/btrfs/ioctl.c

index a74ed6c12d6a3477d521b21c44f8367b16c804c2..feab6f61cb977564c2d7ca2ca92aad91bcc30ffa 100644 (file)
@@ -4114,10 +4114,12 @@ static long btrfs_ioctl_space_info(struct btrfs_fs_info *fs_info,
        struct btrfs_ioctl_space_info *dest_orig;
        struct btrfs_ioctl_space_info __user *user_dest;
        struct btrfs_space_info *info;
-       u64 types[] = {BTRFS_BLOCK_GROUP_DATA,
-                      BTRFS_BLOCK_GROUP_SYSTEM,
-                      BTRFS_BLOCK_GROUP_METADATA,
-                      BTRFS_BLOCK_GROUP_DATA | BTRFS_BLOCK_GROUP_METADATA};
+       static const u64 types[] = {
+               BTRFS_BLOCK_GROUP_DATA,
+               BTRFS_BLOCK_GROUP_SYSTEM,
+               BTRFS_BLOCK_GROUP_METADATA,
+               BTRFS_BLOCK_GROUP_DATA | BTRFS_BLOCK_GROUP_METADATA
+       };
        int num_types = 4;
        int alloc_size;
        int ret = 0;