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 majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html
