linux-nfs.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Dai Ngo <dai.ngo@oracle.com>
To: "J. Bruce Fields" <bfields@fieldses.org>
Cc: linux-nfs@vger.kernel.org
Subject: Re: [PATCH v4 1/1] NFSv4.2: Fix NFS4ERR_STALE error when doing inter server copy
Date: Mon, 9 Nov 2020 14:26:37 -0800	[thread overview]
Message-ID: <7a18452a-3120-ea5b-f676-9d7e18a65446@oracle.com> (raw)
In-Reply-To: <20201109204206.GA20261@fieldses.org>


On 11/9/20 12:42 PM, J. Bruce Fields wrote:
> On Mon, Nov 09, 2020 at 11:34:08AM -0800, Dai Ngo wrote:
>> On 11/9/20 10:30 AM, J. Bruce Fields wrote:
>>> On Tue, Oct 20, 2020 at 11:34:35AM -0700, Dai Ngo wrote:
>>>> On 10/20/20 10:01 AM, J. Bruce Fields wrote:
>>>>> On Sun, Oct 18, 2020 at 11:42:49PM -0400, Dai Ngo wrote:
>>>>>> NFS_FS=y as dependency of CONFIG_NFSD_V4_2_INTER_SSC still have
>>>>>> build errors and some configs with NFSD=m to get NFS4ERR_STALE
>>>>>> error when doing inter server copy.
>>>>>>
>>>>>> Added ops table in nfs_common for knfsd to access NFS client modules.
>>>>> OK, looks reasonable to me, applying.  Does this resolve all the
>>>>> problems you've seen, or is there any bad case left?
>>>> Thanks Bruce.
>>>>
>>>> With this patch, I no longer see the NFS4ERR_STALE in any config.
>>>>
>>>> The problem with NFS4ERR_STALE was because of a bug in nfs42_ssc_open.
>>>> When CONFIG_NFSD_V4_2_INTER_SSC is not defined, nfs42_ssc_open
>>>> returns NULL which is incorrect allowing the operation to continue
>>>> until nfsd4_putfh which does not have the code to handle nfserr_stale.
>>>>
>>>> With this patch, when CONFIG_NFSD_V4_2_INTER_SSC is not defined the
>>>> new nfs42_ssc_open returns ERR_PTR(-EIO) which causes the NFS client
>>>> to switch over to the split copying (read src and write to dst).
>>> That sounds reasonable, but I don't see any of the patches you've sent
>>> changing that error return.  Did I overlook something, or did you mean
>>> to append a patch to this message?
>> Since with the patch, I did not run into the condition where NFS4ERR_STALE
>> is returned so I did not fix this return error code. Do you want me to
>> submit another patch to change the returned error code from NFS4ERR_STALE
>> to NFS4ERR_NOTSUPP if it ever runs into that condition?
> That would be great, thanks.  (I mean, it is still possible to hit that
> case, right?  You just didn't test with !CONFIG_NFSD_V4_2_INTER_SSC ?)

will do. I did tested with (!CONFIG_NFSD_V4_2_INTER_SSC) but did not hit
this case. Because with this patch, when CONFIG_NFSD_V4_2_INTER_SSC is not
defined the new nfs42_ssc_open returns ERR_PTR(-EIO), instead of NULL in
the old code, which causes the NFS client to switch over to the split
copying (read src and write to dst).
Returning NULL in the old nfs42_ssc_open is not correct, it allows the copy
operation to proceed and hits the NFS4ERR_STALE case in the COPY operation.

-Dai

>
> --b.

  reply	other threads:[~2020-11-09 22:26 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-10-19  3:42 [PATCH v4 1/1] NFSv4.2: Fix NFS4ERR_STALE error when doing inter server copy Dai Ngo
2020-10-20 17:01 ` J. Bruce Fields
2020-10-20 18:34   ` Dai Ngo
2020-11-09 18:30     ` J. Bruce Fields
2020-11-09 19:34       ` Dai Ngo
2020-11-09 20:42         ` J. Bruce Fields
2020-11-09 22:26           ` Dai Ngo [this message]
2020-11-10  6:46             ` Dai Ngo
2020-11-10 20:12               ` J. Bruce Fields
2020-11-10 21:07                 ` Olga Kornievskaia
2020-11-10 21:51                   ` J. Bruce Fields
2020-11-10 22:08                     ` Olga Kornievskaia
2020-11-10 22:21                       ` J. Bruce Fields
2020-11-11 23:02                         ` Dai Ngo
2020-11-23 16:25                           ` J. Bruce Fields
2020-11-23 18:14                             ` Dai Ngo
2020-11-23 22:08                               ` J. Bruce Fields
2020-11-10 21:54                   ` Dai Ngo

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=7a18452a-3120-ea5b-f676-9d7e18a65446@oracle.com \
    --to=dai.ngo@oracle.com \
    --cc=bfields@fieldses.org \
    --cc=linux-nfs@vger.kernel.org \
    /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).