Re: [PATCH 1/1] NFSv4: Use error handler on failed GETATTR with successful OPEN

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

 



On Fri, May 23, 2014 at 9:22 AM,  <andros@xxxxxxxxxx> wrote:
> From: Andy Adamson <andros@xxxxxxxxxx>
>
> Place the call to resend the failed GETATTR under the error handler so that
> when appropriate, the GETATTR is retried more than once.
>
> The server can fail the GETATTR op in the OPEN compound with a recoverable
> error such as NFS4ERR_DELAY. In the case of an O_EXCL open, the server has
> created the file, so a retrans of the OPEN call will fail with NFS4ERR_EXIST.
>

Why would the client retransmit the open in this case? We don't use
the return value from the getattr call, so the callers of
_nfs4_proc_open() will never see the NFS4ERR_DELAY.


> Signed-off-by: Andy Adamson <andros@xxxxxxxxxx>
> ---
>  fs/nfs/nfs4proc.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/fs/nfs/nfs4proc.c b/fs/nfs/nfs4proc.c
> index 397be39..be1b305 100644
> --- a/fs/nfs/nfs4proc.c
> +++ b/fs/nfs/nfs4proc.c
> @@ -2027,7 +2027,7 @@ static int _nfs4_proc_open(struct nfs4_opendata *data)
>                         return status;
>         }
>         if (!(o_res->f_attr->valid & NFS_ATTR_FATTR))
> -               _nfs4_proc_getattr(server, &o_res->fh, o_res->f_attr, o_res->f_label);
> +               nfs4_proc_getattr(server, &o_res->fh, o_res->f_attr, o_res->f_label);
>         return 0;
>  }
>
> --
> 1.8.3.1
>



-- 
Trond Myklebust

Linux NFS client maintainer, PrimaryData

trond.myklebust@xxxxxxxxxxxxxxx
--
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