On 27.01.2018 07:45, Omar Sandoval wrote:
> On Sat, Jan 27, 2018 at 01:00:58PM +0800, Qu Wenruo wrote:
>>
>>
>> On 2018年01月27日 03:46, Omar Sandoval wrote:
>>> On Fri, Jan 26, 2018 at 08:31:06PM +0100, Goffredo Baroncelli wrote:
>>>> On 01/26/2018 07:40 PM, Omar Sandoval wrote:
>>>>> From: Omar Sandoval <osan...@fb.com>
>>>>
>>>>
>>>> Hi,
>>>>
>>>> this is a great work; only few comments:
>>>> 1) I found not intuitive the naming of the function: i.e. you have 
>>>>
>>>> btrfs_util_create_snapshot()
>>>> btrfs_util_f_create_snapshot()
>>>>
>>>> To me it seems more clear to have
>>>>
>>>> btrfs_util_create_snapshot()
>>>> btrfs_util_create_snapshot_f()
>>>>
>>>> I think that it is better move the 'f' at the end: at the begin you have 
>>>> the library "btrfs_util", in the middle you have the library function 
>>>> 'create_snapshot', at the end there is the function variant ('f', because 
>>>> it uses a file descriptor).
>>>>
>>>> This is my opinion, even tough there are both examples like you 
>>>> (stat/fstat/lstat) and like my one (capt_get_fd/cap_get_file)...
>>>
>>> Yup, I was going off of the fstat/fsync/etc. convention. I don't
>>> particularly like, e.g., btrfs_create_snapshot_f(), but
>>> btrfs_create_snapshot_fd() isn't so bad.
>>
>> _fd() suffix sounds more reasonable to me too.
>>
>>>
>>>> 2) I find the prefix 'btrfs_util_' a bit verbose. Why not a simple 
>>>> 'btrfs_', even at the cost of a possible renaming of the conflicting 
>>>> function in the current btrfs code.
>>>
>>> That's a reasonable idea, I mostly wanted to avoid naming conflicts but
>>> if this is the "one true Btrfs library" it shouldn't be a concern.
>>
>> Unfortunately, at least there is also some planned work to bring a
>> shared code base between kernel and btrfs-progs, which is also named
>> libbtrfs, inspired by libxfs.

So why don't we implement the shared code as part of this library, won't
it result in just some more files + btrfs_* named function? This "core"
part will be built always when compiling the kernel/userspace progs. In
case we are compiling the userspace progs, additionally we can compile
in the libbtrfsutil essentially + the python modules? Why do we need to
keep the 2 libraries completely separate? For example we can have
something like:

libbtrfs/common/ - here lives the common Userspace/kernel code
libbtrfs/userspace/ - here lives the code of libbtrfsutil, which will
presumably consume certain function from the common dir?

> 
> That's right, I forgot about that. There's definitely value in having a
> distinction between btrfs_util_ (userspace interfaces) and btrfs_
> (filesystem disk format).
> 
>> And depending on the respect of view, some developer may prefer the
>> short btrfs_ prefix for libbtrfs, while other developers/users will
>> definitely prefer btrfs_ prefix for libbtrfsutil.
>>
>> What about shorted prefix like butil_ or btrutil_?
> 
> Those aren't very informative, I think sticking with btrfs_util_ is
> fine, it's not that bad to type out.
> 
>> Thanks,
>> Qu
>>
>>>
>>> I'll wait a bit for people to bikeshed on the naming before I go and
>>> rename everything, but I'm leaning towards the shorter name and
>>> appending _fd instead of prepending f_.
>>>
>>>> 3) regarding the btrfs_util_create_snapshot() function, I think that it 
>>>> would be useful to add some more information:
>>>> a) if used recursive is NOT atomic
>>>> b) if used recursive, root capabilities are needed
>>>>
>>>> The same for the other functions: mark with a 'root required' tag all the 
>>>> functions which require the root capabilities.
>>>
>>> That's a great point, I'll document that.
>>> --
>>> 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
>>>
>>
> 
> 
> 
> --
> 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
> 
--
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