btrfs: clarify btrfs_ioctl_get_dev_stats padding
authorHans van Kranenburg <hans.van.kranenburg@mendix.com>
Sat, 3 Aug 2019 21:36:34 +0000 (23:36 +0200)
committerDavid Sterba <dsterba@suse.com>
Mon, 9 Sep 2019 12:59:05 +0000 (14:59 +0200)
In commit c11d2c236cc26 ("Btrfs: add ioctl to get and reset the device
stats") the get_dev_stats ioctl was added.

Shortly thereafter, in commit b27f7c0c150f7 ("btrfs: join DEV_STATS
ioctls to one") , the flags field was added.  However, the calculation
for unused padding space was not updated, which also invalidated the
comment.

Clarify what happened to reduce confusion and wasted time for anyone
implementing this.

Signed-off-by: Hans van Kranenburg <hans.van.kranenburg@mendix.com>
Reviewed-by: David Sterba <dsterba@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
include/uapi/linux/btrfs.h

index 7885d79f75158ee5daf7fb32dc786d90dc68cfaa..3ee0678c0a8355ca8aa8495733e231a013042695 100644 (file)
@@ -665,7 +665,12 @@ struct btrfs_ioctl_get_dev_stats {
        /* out values: */
        __u64 values[BTRFS_DEV_STAT_VALUES_MAX];
 
-       __u64 unused[128 - 2 - BTRFS_DEV_STAT_VALUES_MAX]; /* pad to 1k */
+       /*
+        * This pads the struct to 1032 bytes. It was originally meant to pad to
+        * 1024 bytes, but when adding the flags field, the padding calculation
+        * was not adjusted.
+        */
+       __u64 unused[128 - 2 - BTRFS_DEV_STAT_VALUES_MAX];
 };
 
 #define BTRFS_QUOTA_CTL_ENABLE 1