Re: [PATCH v2 07/25] pnfsblock: add blocklayout Kconfig option, Makefile, and stubs

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 2011-07-25 10:38, Myklebust, Trond wrote:
>> -----Original Message-----
>> From: Benny Halevy [mailto:bhalevy@xxxxxxxxxx]
>> Sent: Monday, July 25, 2011 10:31 AM
>> To: Jim Rees
>> Cc: Myklebust, Trond; linux-nfs@xxxxxxxxxxxxxxx; peter honeyman
>> Subject: Re: [PATCH v2 07/25] pnfsblock: add blocklayout Kconfig
>> option, Makefile, and stubs
>>
>> On 2011-07-21 15:34, Jim Rees wrote:
>>> From: Fred Isaman <iisaman@xxxxxxxxxxxxxx>
>>>
>>> Define a configuration variable to enable/disable compilation of the
>>> block driver code.
>>>
>>> Add the minimal structure for a pnfs block layout driver, and empty
>>> list-heads that will hold the extent data
>>>
>>> [pnfsblock: make NFS_V4_1 select PNFS_BLOCK]
>>> Signed-off-by: Peng Tao <peng_tao@xxxxxxx>
>>> Signed-off-by: Fred Isaman <iisaman@xxxxxxxxxxxxxx>
>>> Signed-off-by: Benny Halevy <bhalevy@xxxxxxxxxxx>
>>> [pnfs-block: fix CONFIG_PNFS_BLOCK dependencies]
>>> Signed-off-by: Benny Halevy <bhalevy@xxxxxxxxxxx>
>>> Signed-off-by: Benny Halevy <benny@xxxxxxxxxx>
>>> [pnfsblock: SQUASHME: port block layout code]
>>> Signed-off-by: Peng Tao <peng_tao@xxxxxxx>
>>> [pnfsblock: SQUASHME: adjust to API change]
>>> Signed-off-by: Fred Isaman <iisaman@xxxxxxxxxxxxxx>
>>> [pnfs: move pnfs_layout_type inline in nfs_inode]
>>> Signed-off-by: Benny Halevy <bhalevy@xxxxxxxxxxx>
>>> [blocklayout: encode_layoutcommit implementation]
>>> Signed-off-by: Boaz Harrosh <bharrosh@xxxxxxxxxxx>
>>> Signed-off-by: Benny Halevy <bhalevy@xxxxxxxxxxx>
>>> Signed-off-by: Benny Halevy <benny@xxxxxxxxxx>
>>> [pnfsblock: layout alloc and free]
>>> Signed-off-by: Fred Isaman <iisaman@xxxxxxxxxxxxxx>
>>> [pnfs: move pnfs_layout_type inline in nfs_inode]
>>> Signed-off-by: Benny Halevy <bhalevy@xxxxxxxxxxx>
>>> Signed-off-by: Benny Halevy <benny@xxxxxxxxxx>
>>> [pnfsblock: define module alias]
>>> Signed-off-by: Peng Tao <peng_tao@xxxxxxx>
>>> ---
>>>  fs/nfs/Kconfig                   |    8 ++-
>>>  fs/nfs/Makefile                  |    1 +
>>>  fs/nfs/blocklayout/Makefile      |    5 +
>>>  fs/nfs/blocklayout/blocklayout.c |  175
>> ++++++++++++++++++++++++++++++++++++++
>>>  fs/nfs/blocklayout/blocklayout.h |   91 ++++++++++++++++++++
>>>  5 files changed, 279 insertions(+), 1 deletions(-)
>>>  create mode 100644 fs/nfs/blocklayout/Makefile
>>>  create mode 100644 fs/nfs/blocklayout/blocklayout.c
>>>  create mode 100644 fs/nfs/blocklayout/blocklayout.h
>>>
>>> diff --git a/fs/nfs/Kconfig b/fs/nfs/Kconfig
>>> index 2cde5d9..be02077 100644
>>> --- a/fs/nfs/Kconfig
>>> +++ b/fs/nfs/Kconfig
>>> @@ -79,15 +79,21 @@ config NFS_V4_1
>>>  	depends on NFS_FS && NFS_V4 && EXPERIMENTAL
>>>  	select SUNRPC_BACKCHANNEL
>>>  	select PNFS_FILE_LAYOUT
>>> +	select PNFS_BLOCK
>>> +	select MD
>>> +	select BLK_DEV_DM
>>
>> Why is PNFS_BLOCK enabled automatically in all cases?
>> That renders the use of modules for layout drivers totally useless.
>> I sort of understand that for PNFS_FILE_LAYOUT (when my
>> arm is twisted really hard behind my back :) since it
>> is an integral part of RFC5661 but what's the justification
>> for PNFS_BLOCK? and why blocks and not objects?
> 
> The question is rather why did objects add a selectable compile option?

Just good citizenship :)

> What is the point of not compiling a given layout driver if all the
> dependencies are met?

Reducing build times...
Building a smaller kernel when modules are disabled...

We're fine in terms of memory consumption when CONFIG_MODULES=y since the
layout driver is loaded on demand but shouldn't be worried about
the other case?

> 
> IOW: The only thing I'd change above is the select MD and select
> BLK_DEV_DM: I'd prefer something like
> 
> config PNFS_BLOCK
> 	depends on NFS_V4_1 && MD && BLK_DEV_DM
> 	default y

This is closer to the original version.
However, selecting MD and BLK_DEV_DM was proven useful to automatically take
care of the module dependencies without having to dive into details.

Benny

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


[Index of Archives]     [Linux Filesystem Development]     [Linux USB Development]     [Linux Media Development]     [Video for Linux]     [Linux NILFS]     [Linux Audio Users]     [Yosemite Info]     [Linux SCSI]

  Powered by Linux