diff mbox

[v2,0/3] NFSD: Implement SEEK

Message ID 5283A3B7.8080405@netapp.com (mailing list archive)
State New, archived
Headers show

Commit Message

Bryan Schumaker Nov. 13, 2013, 4:07 p.m. UTC
On 11/13/2013 11:01 AM, Anna Schumaker wrote:
> On 11/12/2013 02:59 PM, J. Bruce Fields wrote:
>> On Tue, Nov 12, 2013 at 02:54:15PM -0500, Anna Schumaker wrote:
>>> On 11/12/2013 02:45 PM, J. Bruce Fields wrote:
>>>> On Tue, Nov 12, 2013 at 02:04:05PM -0500, Anna Schumaker wrote:
>>>>> These patches implement just the SEEK NFS v4.2 operation.  WRITE_PLUS is
>>>>> still under discussion with the IETF after my last series of patches, so I
>>>>> am holding off on resubmitting until after spec discussion dies down.
>>>>>
>>>>> Questions?  Comments?  Thoughts?
>>>>> Anna
>>>>>
>>>>> Anna Schumaker (3):
>>>>>   NFSD: Update error codes
>>>>
>>>> I don't think I got this first patch.
>>>
>>> It's in the "patches" directory I used, but I don't see it in my gmail inbox either.  I'll send it out in a minute.
>>>
>>>>
>>>>>   NFSD: Create nfs v4.2 decode ops
>>>>>   NFSD: Implement SEEK
>>>>
>>>> I'd like to be reassured the protocol is reasonably stable before we
>>>> commit this.  I haven't been following the ietf wg discussion closely.
>>>>
>>>> And this should initially be disabled by default.  So, probably either:
>>>>
>>>> 	- Introduce a new NFSD_V4_SEEK option, or
>>>> 	- Combine this and NFSD_V4_SECURITY_LABEL and this into a single
>>>> 	  NFSD_V4_2 option.
>>>>
>>>> And recommend "N" for now.
>>>>
>>>> Probably the latter I guess, to be consistent with the client.  And
>>>> because otherwise we could end up with an awful lot of config options.
>>>
>>> Sure, I can do that easily enough.
>>
>> OK.  In that case, you'll probably want to do an additional patch at the
>> beginning just to replace NFSD_V4_SECURITY_LABEL by NFSD_V4_2.  Note
>> it's not a pure search-and-replace since the latter covers a little more
>> code.
> 
> Would you accept a patch that instead introduces CONFIG_NFSD_V4_2 and then makes the security label depend on that config option?
> 

I'm thinking something like this:



>>
>> The only thing that worries me a bit is the features may mature at
>> different times.  I guess when the time comes we could split it into
>> NFSD_V4_2 and NFSD_V4_2_EXPERIMENTAL and recommend distros and
>> non-developers turn on only the former?
>>
>> --b.
>>
> 

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

Comments

Christoph Hellwig Nov. 13, 2013, 4:15 p.m. UTC | #1
On Wed, Nov 13, 2013 at 11:07:19AM -0500, Anna Schumaker wrote:
> I'm thinking something like this:

Given that the whole sparse file support seems more experimental than
the security labels requiring the former for the latter seems a bit odd.

I have to admit that I don't really know how to deal with those changes,
on the one hand I'd love to expose it as soon as possible, on the other
hand the spec has so many higher level flaws related to their concepts
of sparse files that I'd feel really bad about locking even parts of it
in at the moment.

--
To unsubscribe from this list: send the line "unsubscribe linux-nfs" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
J. Bruce Fields Nov. 13, 2013, 4:49 p.m. UTC | #2
On Wed, Nov 13, 2013 at 08:15:27AM -0800, Christoph Hellwig wrote:
> On Wed, Nov 13, 2013 at 11:07:19AM -0500, Anna Schumaker wrote:
> > I'm thinking something like this:
> 
> Given that the whole sparse file support seems more experimental than
> the security labels requiring the former for the latter seems a bit odd.
> 
> I have to admit that I don't really know how to deal with those changes,
> on the one hand I'd love to expose it as soon as possible, on the other
> hand the spec has so many higher level flaws related to their concepts
> of sparse files that I'd feel really bad about locking even parts of it
> in at the moment.

This isn't a candidate for 3.13, and SEEK didn't look like the most
problematic bit, so with a couple more months I'm hoping we'll be more
confident about the protocol?

Actually now that I look, I forget: even if security labels are built
in, 4.2 is still off by default at runtime for now.

We could add another interface to toggle individual features at run time
but I think that's definitely too complicated.

Maybe:

	- keep 4.2 off by default a runtime for now.
	- keep each feature under its individual config option:
	  NFSD_V4_SECURITY_LABEL, NFSD_V4_SEEK, NFSD_V4_SEND_PONIES....
	- when an individual feature matures, ditch its config option
	  and build it unconditionally.  We're always getting little
	  build bugs due to untested build options so I'd rather not
	  keep them around indefinitely.
	- once 4.2 has at least one feature that we think is mature
	  enough, switch the runtime 4.2 default to on and depend on
	  scary warnings on the remaining build options to keep people
	  from exposing them in production.

?

--b.
--
To unsubscribe from this list: send the line "unsubscribe linux-nfs" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Christoph Hellwig Nov. 13, 2013, 4:52 p.m. UTC | #3
On Wed, Nov 13, 2013 at 11:49:59AM -0500, J. Bruce Fields wrote:
> This isn't a candidate for 3.13, and SEEK didn't look like the most
> problematic bit, so with a couple more months I'm hoping we'll be more
> confident about the protocol?

Wish I knew.  The ieft list seems to be at an awfully small pace, and
the actual spec seems another layer separated from that.  People who
are more familar with the process might have to chime in.

--
To unsubscribe from this list: send the line "unsubscribe linux-nfs" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Joshuah Hurst Nov. 13, 2013, 5:02 p.m. UTC | #4
On Wed, Nov 13, 2013 at 5:49 PM, J. Bruce Fields <bfields@fieldses.org> wrote:
> On Wed, Nov 13, 2013 at 08:15:27AM -0800, Christoph Hellwig wrote:
>> On Wed, Nov 13, 2013 at 11:07:19AM -0500, Anna Schumaker wrote:
>> > I'm thinking something like this:
>>
>> Given that the whole sparse file support seems more experimental than
>> the security labels requiring the former for the latter seems a bit odd.
>>
>> I have to admit that I don't really know how to deal with those changes,
>> on the one hand I'd love to expose it as soon as possible, on the other
>> hand the spec has so many higher level flaws related to their concepts
>> of sparse files that I'd feel really bad about locking even parts of it
>> in at the moment.
>
> This isn't a candidate for 3.13, and SEEK didn't look like the most
> problematic bit, so with a couple more months I'm hoping we'll be more
> confident about the protocol?
>
> Actually now that I look, I forget: even if security labels are built
> in, 4.2 is still off by default at runtime for now.
>
> We could add another interface to toggle individual features at run time
> but I think that's definitely too complicated.
>
> Maybe:
>
>         - keep 4.2 off by default a runtime for now.
>         - keep each feature under its individual config option:
>           NFSD_V4_SECURITY_LABEL, NFSD_V4_SEEK, NFSD_V4_SEND_PONIES....
>         - when an individual feature matures, ditch its config option
>           and build it unconditionally.  We're always getting little
>           build bugs due to untested build options so I'd rather not
>           keep them around indefinitely.
>         - once 4.2 has at least one feature that we think is mature
>           enough, switch the runtime 4.2 default to on and depend on
>           scary warnings on the remaining build options to keep people
>           from exposing them in production.

NFSD_V4_SEND_PONIES is mandatory for 3.13!!!!!

:)

Josh
--
To unsubscribe from this list: send the line "unsubscribe linux-nfs" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Bryan Schumaker Nov. 13, 2013, 5:07 p.m. UTC | #5
On 11/13/2013 11:49 AM, J. Bruce Fields wrote:
> On Wed, Nov 13, 2013 at 08:15:27AM -0800, Christoph Hellwig wrote:
>> On Wed, Nov 13, 2013 at 11:07:19AM -0500, Anna Schumaker wrote:
>>> I'm thinking something like this:
>>
>> Given that the whole sparse file support seems more experimental than
>> the security labels requiring the former for the latter seems a bit odd.
>>
>> I have to admit that I don't really know how to deal with those changes,
>> on the one hand I'd love to expose it as soon as possible, on the other
>> hand the spec has so many higher level flaws related to their concepts
>> of sparse files that I'd feel really bad about locking even parts of it
>> in at the moment.
> 
> This isn't a candidate for 3.13, and SEEK didn't look like the most
> problematic bit, so with a couple more months I'm hoping we'll be more
> confident about the protocol?
> 
> Actually now that I look, I forget: even if security labels are built
> in, 4.2 is still off by default at runtime for now.
> 
> We could add another interface to toggle individual features at run time
> but I think that's definitely too complicated.
> 
> Maybe:
> 
> 	- keep 4.2 off by default a runtime for now.
> 	- keep each feature under its individual config option:
> 	  NFSD_V4_SECURITY_LABEL, NFSD_V4_SEEK, NFSD_V4_SEND_PONIES....
> 	- when an individual feature matures, ditch its config option
> 	  and build it unconditionally.  We're always getting little
> 	  build bugs due to untested build options so I'd rather not
> 	  keep them around indefinitely.
> 	- once 4.2 has at least one feature that we think is mature
> 	  enough, switch the runtime 4.2 default to on and depend on
> 	  scary warnings on the remaining build options to keep people
> 	  from exposing them in production.
> 
> ?

That's doable too.  And it keeps me from having to touch security label code that I don't know a whole lot about!

Anna

> 
> --b.
> 

--
To unsubscribe from this list: send the line "unsubscribe linux-nfs" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
J. Bruce Fields Nov. 13, 2013, 6:46 p.m. UTC | #6
On Wed, Nov 13, 2013 at 08:52:04AM -0800, Christoph Hellwig wrote:
> On Wed, Nov 13, 2013 at 11:49:59AM -0500, J. Bruce Fields wrote:
> > This isn't a candidate for 3.13, and SEEK didn't look like the most
> > problematic bit, so with a couple more months I'm hoping we'll be more
> > confident about the protocol?
> 
> Wish I knew.  The ieft list seems to be at an awfully small pace,

It just varies depending on who's paying attention, I think.  Tom's
actually been taking changes pretty quickly once there's patches.

> and the actual spec seems another layer separated from that.  People
> who are more familar with the process might have to chime in.

Trond actually goes to those meetings on a regular basis, so he's
probably the one to chime in.

4.0 and 4.1 were both kind of huge and monolithic, and I don't remember
facing the problem of knowing when the specs were "done": the code
wasn't going to be ready before the rfc's were published anyway.

A lot of these 4.2 things look much simpler to implement, so now we've
got the option of releasing things into the wild before there's an rfc.
And if we screw up then we could end up sticking someone else with
behavior they don't want.

Better than specifying behavior that nobody wanted, which was more
likely before--it's good to be reviewing specs and patches at the same
time.  But now I'm more vague on when to declare some part of the new
spec stable.

If there's no magic milestone then we just review and communicate as
best we can, I guess....

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

Patch

diff --git a/fs/nfsd/Kconfig b/fs/nfsd/Kconfig
index dc8f1ef..5d0ca71 100644
--- a/fs/nfsd/Kconfig
+++ b/fs/nfsd/Kconfig
@@ -81,9 +81,18 @@  config NFSD_V4
 
          If unsure, say N.
 
+config NFSD_V4_2
+       bool "Server support for NFS v4.2"
+       depends on NFSD_V4
+       help
+         This option enables support for minor version 2 of the NFSv4 protocol
+         in the kernel's NFS server.
+
+         If unsure, say N.
+
 config NFSD_V4_SECURITY_LABEL
        bool "Provide Security Label support for NFSv4 server"
-       depends on NFSD_V4 && SECURITY
+       depends on NFSD_V4_2 && SECURITY
        help
 
        Say Y here if you want enable fine-grained security label attribute