diff options
author | David Sterba <dsterba@suse.cz> | 2014-05-07 17:37:51 +0200 |
---|---|---|
committer | Chris Mason <clm@fb.com> | 2014-06-10 02:20:26 +0200 |
commit | 7d824b6f9cf28917d8a05891ef423fb0e4e34c69 (patch) | |
tree | a362fbac437c6d997c9d389c9c934537d36fdb98 /fs/btrfs/volumes.h | |
parent | Btrfs: fix leaf corruption caused by ENOSPC while hole punching (diff) | |
download | linux-7d824b6f9cf28917d8a05891ef423fb0e4e34c69.tar.xz linux-7d824b6f9cf28917d8a05891ef423fb0e4e34c69.zip |
btrfs: balance filter: add limit of processed chunks
This started as debugging helper, to watch the effects of converting
between raid levels on multiple devices, but could be useful standalone.
In my case the usage filter was not finegrained enough and led to
converting too many chunks at once. Another example use is in connection
with drange+devid or vrange filters that allow to work with a specific
chunk or even with a chunk on a given device.
The limit filter applies last, the value of 0 means no limiting.
CC: Ilya Dryomov <idryomov@gmail.com>
CC: Hugo Mills <hugo@carfax.org.uk>
Signed-off-by: David Sterba <dsterba@suse.cz>
Signed-off-by: Chris Mason <clm@fb.com>
Diffstat (limited to 'fs/btrfs/volumes.h')
-rw-r--r-- | fs/btrfs/volumes.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/fs/btrfs/volumes.h b/fs/btrfs/volumes.h index 80754f9dd3df..1a15bbeb65e2 100644 --- a/fs/btrfs/volumes.h +++ b/fs/btrfs/volumes.h @@ -255,6 +255,7 @@ struct map_lookup { #define BTRFS_BALANCE_ARGS_DEVID (1ULL << 2) #define BTRFS_BALANCE_ARGS_DRANGE (1ULL << 3) #define BTRFS_BALANCE_ARGS_VRANGE (1ULL << 4) +#define BTRFS_BALANCE_ARGS_LIMIT (1ULL << 5) /* * Profile changing flags. When SOFT is set we won't relocate chunk if |