On 11.03.2013 15:35, Wang Shilong wrote:
> 
>> On 11.03.2013 15:15, Wang Shilong wrote:
>>>
>>> <snip>
>>>
>>>>> The worst thing is that i don't think users can master this magic
>>>>> concept very well.
>>>>
>>>> Normally users don't need very sophisticated scenarios. In fact, they
>>>> don't even need higher level quota groups, the basic tracking is
>>>> enough. In this case, everything just works as expected for the user.
>>>> If you start creating and assigning qgroups manually, prepare to handle
>>>> the complexity.
>>>>
>>> Considering this case:
>>>
>>> a subvolume related to a user, we limit the space by limiting every 
>>> subvolume
>>> qgroup, but  we also want to limit  the total space all the users can use. 
>>> So we create
>>> a parent qgroup(1/1 for example) and assign all subvolume group to this 
>>> parent group.
>>>
>>> The above case is regularly used i think, What's more, many snapshots may 
>>> be done.
>>> So  i think what i am concerning is not a corner case..
>>
>> So you just missed to assign the new subvolume to 1/1 by using -i on
>> snapshot creation.
>>
> 
> When snapshot happens,  the exclusive of 1/1 will go wrong even with  this 
> simple case..

Your example does not describe your use case. If you want to account the
snapshot to the user, you also have to assign the snapshot to 1/1. If you
do so, the exclusive will be correct.

-Arne

> 
> However, thanks very much for your patience and kindly reply ^_^
> 
> Thanks, 
> Wang
> 
>> -Arne
>>
>>>
>>> Thanks,
>>> Wang
>>>>
>>>>>
>>>>>>
>>>>>>> If so, i think it really confusing and too complex for users to do
>>>>>>> such work, is't it?...
>>>>>>
>>>>>> It is complex. That is why I always point anyone asking to do some work
>>>>>> on btrfs or qgroups to writing an enhanced interface to simplify this
>>>>>> task for the user. I don't think the kernel should handle this.
>>>>>> And that's why I took the effort to write a pdf to explain the
>>>>>> concepts :)
>>>>>
>>>>> I don't have any  good ideas about this yet..
>>>>>
>>>>>> But the current interface is not only complex, it also is very powerful.
>>>>>> You can solve problems with it that no other quota system I know of can
>>>>>> solve.
>>>>>>
>>>>>>>
>>>>>>> BTW, i have a question about the function btrfs_qgroup_inherit(),
>>>>>>> when copying exclusive value from src_qgroup to dst_qgroup:
>>>>>>>
>>>>>>>     dst_qgroup->exclusive = src_qgroup->exclusive + level_size
>>>>>>>
>>>>>>> while copying referenced value from src_qgroup to dot_qgroup:
>>>>>>>
>>>>>>>     dst_qgroup->referenced = src_qgroup->referenced -level_size
>>>>>>>
>>>>>>> I can't really figure out...~_~
>>>>>>
>>>>>> level_size is just a small correction for the space the tree root
>>>>>> occupies. The tree root is never shared between sub volumes.
>>>>>
>>>>> O.K. I  got it..
>>>>>
>>>>> Thanks,
>>>>> Wang
>>>>>
>>>>>>
>>>>>> -Arne
>>>>>>
>>>>>>>
>>>>>>> Thanks,
>>>>>>> Wang
>>>>>>
>>>>>
>>>>
>>>
>>
> 

--
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