On 8/5/19 12:56 PM, Holger Hoffstätte wrote:
> On 8/5/19 12:31 PM, Hans van Kranenburg wrote:
>> On 8/5/19 12:20 PM, Holger Hoffstätte wrote:
>>> On 8/2/19 6:10 PM, Josef Bacik wrote:
>>>> In testing block group removal it's sometimes handy to be able to
>>>> create
>>>> block groups on demand.  Add an ioctl to allow us to force allocation
>>>> from userspace.
>>>
>>> Gave this a try and it works as advertised, though I noticed that the
>>> redundancy level is ignored, e.g. adding a single metadata chunk will
>>> add a new "single" chunk even when the metadata level is dup.
>>> Doing a balance -mconvert dup,soft fixes that right up, but it's IMHO
>>> unexpected. Can you put a cherry on top and create the new chunk
>>> according
>>> to its dup level?
>>
>> Looking at the code, you should get -EINVAL when you specify anything
>> else than single? (because of the != comparisons).
>>
>> If this gets in, and is available without doing some special debug style
>> kernel build, then it will (tm) be (ab)used by users in the future for
>> things we didn't imagine today. So, in that case, it makes sense to be
>> able to specify any valid combination of flags (type+profile), like
>> indeed METADATA|DUP or whatever.
> 
> ..and that's precisely why it (IMHO) should simply do The Right Thing
> by default instead of giving people more footguns with unexpected
> behaviour. Just observe the existing profile in the kernel ioctl and
> act accordingly, no need for more user-supplied flags. Just don't.

You're right. That's better than my suggestion.

+1

Hans

Reply via email to