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

--
To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to