btrfs: extend balance filter limit to take minimum and maximum
authorDavid Sterba <dsterba@suse.com>
Sat, 10 Oct 2015 15:16:50 +0000 (17:16 +0200)
committerChris Mason <clm@fb.com>
Tue, 27 Oct 2015 02:38:28 +0000 (19:38 -0700)
commit12907fc79818a62a2478f84f7795afa774bf7f9c
treec7df6fd783c99feef090a00c38e7268515488430
parent2849a854224487bc578b73b64422c3cb3ef93ff5
btrfs: extend balance filter limit to take minimum and maximum

The 'limit' filter is underdesigned, it should have been a range for
[min,max], with some relaxed semantics when one of the bounds is
missing. Besides that, using a full u64 for a single value is a waste of
bytes.

Let's fix both by extending the use of the u64 bytes for the [min,max]
range. This can be done in a backward compatible way, the range will be
interpreted only if the appropriate flag is set
(BTRFS_BALANCE_ARGS_LIMIT_RANGE).

Signed-off-by: David Sterba <dsterba@suse.com>
Signed-off-by: Chris Mason <clm@fb.com>
fs/btrfs/ctree.h
fs/btrfs/volumes.c
fs/btrfs/volumes.h
include/uapi/linux/btrfs.h