xfs
[Top] [All Lists]

Re: [PATCH] nfsd: allow SCSI layout support without Block layout

To: "Dave Chinner" <david@xxxxxxxxxxxxx>
Subject: Re: [PATCH] nfsd: allow SCSI layout support without Block layout
From: "Benjamin Coddington" <bcodding@xxxxxxxxxx>
Date: Thu, 07 Jul 2016 05:29:03 -0400
Cc: "J. Bruce Fields" <bfields@xxxxxxxxxxxx>, "Christoph Hellwig" <hch@xxxxxx>, xfs@xxxxxxxxxxx
Delivered-to: xfs@xxxxxxxxxxx
In-reply-to: <20160706221648.GE12670@dastard>
References: <74871b1ce0d09b21fb67c1b2176695cc1c19169e.1467624319.git.bcodding@xxxxxxxxxx> <20160706091953.GD12670@dastard> <73B22D64-6A0B-4B8B-8A4D-6AA7AC26F30D@xxxxxxxxxx> <20160706124326.GA18856@xxxxxxxxxxxx> <20160706221648.GE12670@dastard>
On 6 Jul 2016, at 18:16, Dave Chinner wrote:

> On Wed, Jul 06, 2016 at 08:43:26AM -0400, J. Bruce Fields wrote:
>> On Wed, Jul 06, 2016 at 05:58:09AM -0400, Benjamin Coddington wrote:
>>> On 6 Jul 2016, at 5:19, Dave Chinner wrote:
>>>
>>>> On Tue, Jul 05, 2016 at 09:48:47PM -0400, Benjamin Coddington wrote:
>>>>> We shouldn't have to configure both NFSD_BLOCKLAYOUT and
>>>>> NFSD_SCSILAYOUT if
>>>>> all we want are SCSI layouts on the server, so define the xfs export
>>>>> operations for either configuration.
>>>>>
>>>>> Signed-off-by: Benjamin Coddington <bcodding@xxxxxxxxxx>
>>>>
>>>> I don't really like exploding config option dependencies into
>>>> subsystems that aren't actually related to the config options.
>>>> It's confusing enough laready that we've got XFS code dependent on
>>>> PNFSD config options without adding more to it. Instead, I'd
>>>> suggest this should be resolved in the kconfig files. i.e. make
>>>> CONFIG_NFSD_SCSILAYOUT=y select CONFIG_NFSD_BLOCKLAYOUT to resolve
>>>> the config dependency at config time.
>>>
>>> But the point is to leave CONFIG_NFSD_BLOCKLAYOUT undefined
>>> otherwise knfsd
>>> will advertise block layouts to clients -- which we don't want.
>
> Pnfsd layout is determined at compile time?  That's seems less than
> useful to me for distros wanting to support for multiple layout
> types in the one kernel. i.e. Shouldn't the layout to be advertised
> be something like a per-export configuration option rather than
> determined at compile time define?
>
>>> Would a third define specific for xfs_export_operations that gets
>>> set in kconfig files work for you?  Something like XFS_PNFS_EXPORT_OPS.
>>
>> That makes sense to me....
>
> Sounds good, but I'd drop the "XFS_" prefix because when multiple
> filesytems end up supporting it, we don't want to have to select
> every single one of them from the PNFSD config options...

I now think using PNFS_EXPORT_OPS is too general for all layouts, since nfsd
might support additional layout types that require other export_operations
that have nothing to do with out-of-filesystem access to the storage media.
Also, I believe there's been some interest in using the map_blocks and
commit_blocks interface elsewhere.  So, perhaps something like
CONFIG_BLOCK_EXPORT_OPS would be more appropriate. I'm going to run with
that unless someone disagrees.

I'll also send this as a follow-up to this patch instead of a v2, since
combining both changes into one patch would hide this fix to include these
operations for both SCSI and BLOCK layout types.

Ben

<Prev in Thread] Current Thread [Next in Thread>