* Re: Why we always balance system chunk alone with metadata?
2016-03-16 2:48 Why we always balance system chunk alone with metadata? Qu Wenruo
@ 2016-03-17 8:09 ` Duncan
0 siblings, 0 replies; 2+ messages in thread
From: Duncan @ 2016-03-17 8:09 UTC (permalink / raw)
To: linux-btrfs
Qu Wenruo posted on Wed, 16 Mar 2016 10:48:48 +0800 as excerpted:
> Hi,
>
> During debugging a bug related to balancing metadata chunk, we found
> that if we specify -m option for "btrfs balance", it will always balance
> system chunk too.
>
> cmds-balance.c:
> ---
> /*
> * allow -s only under --force, otherwise do with system chunks
> * the same thing we were ordered to do with meta chunks */
> if (args.flags & BTRFS_BALANCE_SYSTEM) {
> if (!force) {
> error(
> "Refusing to explicitly operate on system
> chunks.\n"
> "Pass --force if you really want to do
> that.");
> return 1;
> }
> } else if (args.flags & BTRFS_BALANCE_METADATA) {
> args.flags |= BTRFS_BALANCE_SYSTEM; <<< Here
> memcpy(&args.sys, &args.meta,
> sizeof(struct btrfs_balance_args));
> }
> ---
>
> I'm curious why we always bind system chunk to metadata balance?
>
> Is there any special reason?
> The patch introducing such behavior is dated back to 2012, and this
> makes us unable to do metadata *only* balance.
I always understood it as a convenient simplification for the sake of the
user, for whom tracking data and metadata separately is already a major
complication over what they're dealing with on most filesystems.
But I also wondered why there was no parallel to the -s system option for
metadata ONLY, perhaps requiring --force just as the -s option does.
The --force requirement for -s /does/ encourage people not to touch it at
all, separately, and there could be very good reasons to normally treat
system as metadata and process them as a combined unit, but even then, it
seems very odd to me to expose -s on its own, even if --force is
required, and not a parallel, say -M, for metadata-only, again, possibly
only if --force is used as well.
--
Duncan - List replies preferred. No HTML msgs.
"Every nonfree program has a lord, a master --
and if you use the program, he is your master." Richard Stallman
^ permalink raw reply [flat|nested] 2+ messages in thread