]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
btrfs: Pack struct btrfs_device
authorDulshani Gunawardhana <dulshani.gunawardhana89@gmail.com>
Thu, 31 Oct 2013 04:27:33 +0000 (09:57 +0530)
committerChris Mason <chris.mason@fusionio.com>
Tue, 12 Nov 2013 03:11:26 +0000 (22:11 -0500)
Pack the structure btrfs_device in volumes.h to eliminate holes detected
by pahole, thus reducing binary memory footprint.

Signed-off-by: Dulshani Gunawardhana <dulshani.gunawardhana89@gmail.com>
Reviewed-by: Zach Brown <zab@redhat.com>
Signed-off-by: Josef Bacik <jbacik@fusionio.com>
Signed-off-by: Chris Mason <chris.mason@fusionio.com>
fs/btrfs/volumes.h

index 49e0ff01143f7c2ca9c0e170be911c62a8081c26..8b3cd142b3734dc0161c479b9bfcc9eb144cdaab 100644 (file)
@@ -43,9 +43,8 @@ struct btrfs_device {
        /* WRITE_SYNC bios */
        struct btrfs_pending_bios pending_sync_bios;
 
-       int running_pending;
        u64 generation;
-
+       int running_pending;
        int writeable;
        int in_fs_metadata;
        int missing;
@@ -53,11 +52,11 @@ struct btrfs_device {
        int is_tgtdev_for_dev_replace;
 
        spinlock_t io_lock;
+       /* the mode sent to blkdev_get */
+       fmode_t mode;
 
        struct block_device *bdev;
 
-       /* the mode sent to blkdev_get */
-       fmode_t mode;
 
        struct rcu_string *name;
 
@@ -78,16 +77,21 @@ struct btrfs_device {
 
        /* optimal io width for this device */
        u32 io_width;
+       /* type and info about this device */
+       u64 type;
 
        /* minimal io size for this device */
        u32 sector_size;
 
-       /* type and info about this device */
-       u64 type;
 
        /* physical drive uuid (or lvm uuid) */
        u8 uuid[BTRFS_UUID_SIZE];
 
+       /* for sending down flush barriers */
+       int nobarriers;
+       struct bio *flush_bio;
+       struct completion flush_wait;
+
        /* per-device scrub information */
        struct scrub_ctx *scrub_device;
 
@@ -103,10 +107,6 @@ struct btrfs_device {
        struct radix_tree_root reada_zones;
        struct radix_tree_root reada_extents;
 
-       /* for sending down flush barriers */
-       struct bio *flush_bio;
-       struct completion flush_wait;
-       int nobarriers;
 
        /* disk I/O failure stats. For detailed description refer to
         * enum btrfs_dev_stat_values in ioctl.h */