linux-nfs.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Ric Wheeler <rwheeler@redhat.com>
To: Chuck Lever <chuck.lever@oracle.com>
Cc: Steve Dickson <SteveD@redhat.com>,
	trond.myklebust@netapp.com, linux-nfs@vger.kernel.org
Subject: Re: [PATCH 00/31] NFS XDR clean up for 2.6.38
Date: Thu, 16 Dec 2010 17:45:21 -0500	[thread overview]
Message-ID: <4D0A9681.2060700@redhat.com> (raw)
In-Reply-To: <1C326FE3-22FF-4272-8D87-6242EB666297@oracle.com>

On 12/16/2010 04:04 PM, Chuck Lever wrote:
> On Dec 16, 2010, at 3:21 PM, Ric Wheeler wrote:
>
>> On 12/16/2010 03:04 PM, Chuck Lever wrote:
>>> On Dec 16, 2010, at 2:14 PM, Steve Dickson wrote:
>>>
>>>> Hello,
>>>>
>>>> I was wondering if it would be possible hold off on committing major
>>>> cleans ups like this one (and the RFC: Split nlm_host cache series)
>>>> until pNFS wave3 is committed into either Trond's tree and/or in the
>>>> mainline kernel.
>>>>
>>>> I realize this is a huge request to make, something we've never done
>>>> before. But talking with the powers to be on this end, include Ric
>>>> Wheeler, accepting these types of patches before the pNFS bits
>>>> settle down will make close to impossible for there to be any
>>>> meaningful pNFS support in the RHEL 6 kernels. We would have
>>>> to push the support off to RHEL 7.
>>>>
>>>> The reasoning is this, which I do agree with, these types of
>>>> patches, although probably needed, do not added any new features
>>>> or fix any outstanding bugs.
>>> The XDR series does add a new feature, FWIW: it adds buffer overflow protection to the client's reply processing logic.  Says so right in the patch descriptions.
>> Hi Chuck,
>>
>> My concern is one of testing one massive set of changes at a time and trying to get those stable (and through QA) before code refactoring. We have been focused on the pNFS bits for what feels like eons and they seem to be getting *really* close now :)
> Likewise, these XDR changes have been floating around since 2007 :-)  I'd rather not be penalized yet again because of the timing of other work.
>
>> I certainly do not object to this work, just want to get the pNFS flood absorbed and processed first.
>>
>> The risk of putting it all in the hopper together is that testing and debugging (in upstream, non-vendor distros and vendor distros) gets harder to qa, debug if/when issues arise  and get stable.
> Except for the across-the-board API change, the NFSv2 and NFSv3 XDR patches are entirely unrelated to pNFS.  Debugging, if any is needed, and QA can be done completely in parallel and by different developers (upstream).  Problems in that code will not have any effect on NFSv4 or pNFS.
>
> Again, you guys can lean on us upstream folks to help with troubleshooting and providing fixes.  Any fixes for bugs you find will have to come upstream anyway.

It is not the trouble shooting I worry about, it is being able to test major 
changes properly before doing refactoring.  Debugging we as a community do well, 
getting the code tested exhaustively depends on locking down resources outside 
of the developer community (qa people & test machines) and setting them loose to 
test things we don't.
>> It would certainly help us to stage pulling the XDR clean up work until after we settle the various pNFS "waves" of change, but I can also understand why you would prefer to push them in sooner.
> In principal, I can understand why you might hesitate to allow this change too.  But someone got scared by looking just at the patch count.  "fscache" this ain't.  There's a difference between complexity and changes that are simply broad.
>
> XDR is so basic that it will be obvious when something critical isn't right and how to fix it.  Bruce has already passed this through his magic automated test suite, multiple times.  A pass through linux-next will identify any significant remaining issues.
>
> Based on the age of these patches, the fact that any problems will likely be obvious, and the amount of testing they've already received, I expect it won't be anywhere near the kind of QA workload that pNFS will be.  However, I'd like to move forward with actual evidence about what it might cost you.  You can start looking at these now by pulling my git repo (git.linux-nfs.org cel-2.6) and trying a run through your QA cycle.  If you find a high defect rate, we can stop this conversation and hold off.
>
>

My concern is not just about Fedora and RHEL, rather it is about trying to get 
one massive, disruptive set of changes in & tested before launching into a 
refactoring that touches lots of critical bits. That is a concern with upstream 
& the distro of your choice.

If we do both at once, then we test them together and end up thrashing.

About putting the changes through QA, we only normally do that kind of extensive 
testing for major features that have a clear customer interest. I have to go to 
them and sell them on spending weeks of time, lobby partners to test, etc (not 
just Steve, Bruce, Jeff and our NFS developers :)).

And don't forget performance - correctness is one thing (it won't blow up or 
give bad data), but we also need to revalidate performance.

In the end, this is not my call, but it would be helpful to me and help me get 
pNFS features landed and tested if we could hold off a bit on non-critical 
changes for a release.

Do you all have any QA resources at Oracle that can torture your patches?

Thanks!

Ric


  reply	other threads:[~2010-12-16 22:45 UTC|newest]

Thread overview: 53+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-12-14 14:54 [PATCH 00/31] NFS XDR clean up for 2.6.38 Chuck Lever
2010-12-14 14:54 ` [PATCH 01/31] NFS: Introduce new-style XDR encoding functions for NFSv2 Chuck Lever
2010-12-14 14:54 ` [PATCH 02/31] NFS: Remove old NFSv2 encoder functions Chuck Lever
2010-12-14 14:54 ` [PATCH 03/31] NFS: Update xdr_encode_foo() functions that we're keeping Chuck Lever
2010-12-14 14:55 ` [PATCH 04/31] NFS: Use the "nfs_stat" enum for nfs_stat_to_errno()'s argument Chuck Lever
2010-12-14 14:55 ` [PATCH 05/31] NFS: Introduce new-style XDR decoding functions for NFSv2 Chuck Lever
2010-12-15 21:48   ` Trond Myklebust
2010-12-15 21:53     ` Trond Myklebust
2010-12-14 14:55 ` [PATCH 06/31] NFS: Replace old NFSv2 decoder functions with xdr_stream-based ones Chuck Lever
2010-12-14 14:55 ` [PATCH 07/31] NFS: Move and update xdr_decode_foo() functions that we're keeping Chuck Lever
2010-12-14 14:55 ` [PATCH 08/31] lockd: Introduce new-style XDR functions for NLMv3 Chuck Lever
2010-12-14 14:55 ` [PATCH 09/31] NFS: Introduce new-style XDR encoding functions for NFSv3 Chuck Lever
2010-12-14 14:56 ` [PATCH 10/31] NFS: Replace old NFSv3 encoder functions with xdr_stream-based ones Chuck Lever
2010-12-14 14:56 ` [PATCH 11/31] NFS: Remove unused old NFSv3 encoder functions Chuck Lever
2010-12-14 14:56 ` [PATCH 12/31] NFS: Update xdr_encode_foo() functions that we're keeping Chuck Lever
2010-12-14 14:56 ` [PATCH 13/31] NFS: Introduce new-style XDR decoding functions for NFSv2 Chuck Lever
2010-12-15 21:49   ` Trond Myklebust
2010-12-16  2:44     ` Chuck Lever
2010-12-14 14:56 ` [PATCH 14/31] NFS: Switch in new NFSv3 decoder functions Chuck Lever
2010-12-14 14:56 ` [PATCH 15/31] NFS: Remove unused old " Chuck Lever
2010-12-14 14:57 ` [PATCH 16/31] NFS: Move and update xdr_decode_foo() functions that we're keeping Chuck Lever
2010-12-14 14:57 ` [PATCH 17/31] lockd: Introduce new-style XDR functions for NLMv4 Chuck Lever
2010-12-14 14:57 ` [PATCH 18/31] NFSD: Update XDR encoders in NFSv4 callback client Chuck Lever
2010-12-14 14:57 ` [PATCH 19/31] NFSD: Update XDR decoders " Chuck Lever
2010-12-14 14:57 ` [PATCH 20/31] NFS: Repair whitespace damage in NFS PROC macro Chuck Lever
2010-12-14 14:57 ` [PATCH 21/31] lockd: Move nlmdbg_cookie2a() to svclock.c Chuck Lever
2010-12-14 14:58 ` [PATCH 22/31] NFS: Fix hdrlen calculation in NFSv4's decode_read() Chuck Lever
2010-12-14 14:58 ` [PATCH 23/31] NFS: Simplify ->decode_dirent() calling sequence Chuck Lever
2010-12-14 14:58 ` [PATCH 24/31] NFS: Squelch compiler warning in decode_getdeviceinfo() Chuck Lever
2010-12-14 14:58 ` [PATCH 25/31] NSM: Avoid return code checking in NSM XDR encoder functions Chuck Lever
2010-12-14 14:58 ` [PATCH 26/31] NFS: Avoid return code checking in mount " Chuck Lever
2010-12-14 14:58 ` [PATCH 27/31] NFS: Remove unused UMNT response data structure Chuck Lever
2010-12-14 14:58 ` [PATCH 28/31] SUNRPC: Avoid return code checking in rpcbind XDR encoder functions Chuck Lever
2010-12-14 14:59 ` [PATCH 29/31] SUNRPC: Determine value of "nrprocs" automatically Chuck Lever
2010-12-14 14:59 ` [PATCH 30/31] SUNRPC: New xdr_streams XDR encoder API Chuck Lever
2010-12-14 14:59 ` [PATCH 31/31] SUNRPC: New xdr_streams XDR decoder API Chuck Lever
2010-12-16 19:14 ` [PATCH 00/31] NFS XDR clean up for 2.6.38 Steve Dickson
2010-12-16 20:04   ` Chuck Lever
2010-12-16 20:21     ` Ric Wheeler
2010-12-16 21:04       ` Chuck Lever
2010-12-16 22:45         ` Ric Wheeler [this message]
2010-12-16 20:43     ` Steve Dickson
2010-12-16 23:05   ` Christoph Hellwig
2010-12-16 23:14     ` Ric Wheeler
2010-12-16 23:16       ` Christoph Hellwig
2010-12-16 23:24         ` Ric Wheeler
2010-12-16 23:30     ` Ric Wheeler
2010-12-16 23:40       ` Christoph Hellwig
2010-12-17  3:32         ` Trond Myklebust
2010-12-17 14:56           ` Steve Dickson
2010-12-17 17:11           ` Chuck Lever
2010-12-17 22:44             ` Ric Wheeler
2010-12-17 12:16     ` Steve Dickson

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4D0A9681.2060700@redhat.com \
    --to=rwheeler@redhat.com \
    --cc=SteveD@redhat.com \
    --cc=chuck.lever@oracle.com \
    --cc=linux-nfs@vger.kernel.org \
    --cc=trond.myklebust@netapp.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).