From: Olga Kornievskaia <olga.kornievskaia@gmail.com>
To: "J. Bruce Fields" <bfields@redhat.com>
Cc: "J. Bruce Fields" <bfields@fieldses.org>,
trond.myklebust@hammerspace.com,
Anna Schumaker <anna.schumaker@netapp.com>,
linux-nfs <linux-nfs@vger.kernel.org>
Subject: Re: [PATCH v7 13/19] NFSD return nfs4_stid in nfs4_preprocess_stateid_op
Date: Wed, 2 Oct 2019 12:52:37 -0400 [thread overview]
Message-ID: <CAN-5tyE2riqB8xTTz+cGJF84FfvSYaBweEPXNKe+kRc4Ma57Yw@mail.gmail.com> (raw)
In-Reply-To: <20191002163439.GA23349@pick.fieldses.org>
On Wed, Oct 2, 2019 at 12:34 PM J. Bruce Fields <bfields@redhat.com> wrote:
>
> On Wed, Oct 02, 2019 at 12:12:17PM -0400, Olga Kornievskaia wrote:
> > On Wed, Oct 2, 2019 at 11:52 AM J. Bruce Fields <bfields@fieldses.org> wrote:
> > >
> > > On Mon, Sep 16, 2019 at 05:13:47PM -0400, Olga Kornievskaia wrote:
> > > > @@ -1026,7 +1026,8 @@ static __be32 nfsd4_do_lookupp(struct svc_rqst *rqstp, struct svc_fh *fh)
> > > > static __be32
> > > > nfsd4_verify_copy(struct svc_rqst *rqstp, struct nfsd4_compound_state *cstate,
> > > > stateid_t *src_stateid, struct nfsd_file **src,
> > > > - stateid_t *dst_stateid, struct nfsd_file **dst)
> > > > + stateid_t *dst_stateid, struct nfsd_file **dst,
> > > > + struct nfs4_stid **stid)
> > > > {
> > > > __be32 status;
> > > >
> > > ...
> > > > @@ -1072,7 +1073,7 @@ static __be32 nfsd4_do_lookupp(struct svc_rqst *rqstp, struct svc_fh *fh)
> > > > __be32 status;
> > > >
> > > > status = nfsd4_verify_copy(rqstp, cstate, &clone->cl_src_stateid, &src,
> > > > - &clone->cl_dst_stateid, &dst);
> > > > + &clone->cl_dst_stateid, &dst, NULL);
> > > > if (status)
> > > > goto out;
> > > >
> > > > @@ -1260,7 +1261,7 @@ static int nfsd4_do_async_copy(void *data)
> > > >
> > > > status = nfsd4_verify_copy(rqstp, cstate, ©->cp_src_stateid,
> > > > ©->nf_src, ©->cp_dst_stateid,
> > > > - ©->nf_dst);
> > > > + ©->nf_dst, NULL);
> > > > if (status)
> > > > goto out;
> > > >
> > >
> > > So both callers pass NULL for the new stid parameter. Looks like that's
> > > still true after the full series of patches, too.
> > >
> >
> > If you look at an earlier chunk it uses it (there is only a single
> > user of it: copy notify state)
>
> You're talking about nfs4_preprocess_stateid_op, the above is
> nfsd4_verify_copy.
I see. You are right, looks like after reworks the nfsd4_verify_copy
doesn't need a stid. Previously both copy stateid and copy_notify
stateids were tied to its parents but I've removed the link for the
copy stateid a while back. Should I now combine this patch with "NFSD
add COPY_NOTIFY operation" because that's the only caller of
nfsd4_preprocess_stateid_op that needs the stid.
>
> --b.
>
> > @@ -1034,14 +1035,14 @@ static __be32 nfsd4_do_lookupp(struct svc_rqst
> > *rqstp, struct svc_fh *fh)
> > return nfserr_nofilehandle;
> >
> > status = nfs4_preprocess_stateid_op(rqstp, cstate, &cstate->save_fh,
> > - src_stateid, RD_STATE, src);
> > + src_stateid, RD_STATE, src, NULL);
> > if (status) {
> > dprintk("NFSD: %s: couldn't process src stateid!\n", __func__);
> > goto out;
> > }
> >
> > status = nfs4_preprocess_stateid_op(rqstp, cstate, &cstate->current_fh,
> > - dst_stateid, WR_STATE, dst);
> > + dst_stateid, WR_STATE, dst, stid);
> > if (status) {
> > dprintk("NFSD: %s: couldn't process dst stateid!\n", __func__);
> > goto out_put_src;
> >
> > > --b.
next prev parent reply other threads:[~2019-10-02 16:52 UTC|newest]
Thread overview: 39+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-09-16 21:13 [PATCH v7 00/19] client and server support for "inter" SSC copy Olga Kornievskaia
2019-09-16 21:13 ` [PATCH v7 01/19] NFS NFSD: defining nl4_servers structure needed by both Olga Kornievskaia
2019-09-16 21:13 ` [PATCH v7 02/19] NFS: add COPY_NOTIFY operation Olga Kornievskaia
2019-09-16 21:13 ` [PATCH v7 03/19] NFS: add ca_source_server<> to COPY Olga Kornievskaia
2019-09-16 21:13 ` [PATCH v7 04/19] NFS: also send OFFLOAD_CANCEL to source server Olga Kornievskaia
2019-09-16 21:13 ` [PATCH v7 05/19] NFS: inter ssc open Olga Kornievskaia
2019-09-16 21:13 ` [PATCH v7 06/19] NFS: skip recovery of copy open on dest server Olga Kornievskaia
2019-09-16 21:13 ` [PATCH v7 07/19] NFS: for "inter" copy treat ESTALE as ENOTSUPP Olga Kornievskaia
2019-09-16 21:13 ` [PATCH v7 08/19] NFS: COPY handle ERR_OFFLOAD_DENIED Olga Kornievskaia
2019-09-16 21:13 ` [PATCH v7 09/19] NFS: handle source server reboot Olga Kornievskaia
2019-09-16 21:13 ` [PATCH v7 10/19] NFS: replace cross device check in copy_file_range Olga Kornievskaia
2019-09-16 21:13 ` [PATCH v7 11/19] NFSD fill-in netloc4 structure Olga Kornievskaia
2019-09-16 21:13 ` [PATCH v7 12/19] NFSD add ca_source_server<> to COPY Olga Kornievskaia
2019-09-16 21:13 ` [PATCH v7 13/19] NFSD return nfs4_stid in nfs4_preprocess_stateid_op Olga Kornievskaia
2019-10-02 15:52 ` J. Bruce Fields
2019-10-02 16:12 ` Olga Kornievskaia
2019-10-02 16:15 ` Olga Kornievskaia
2019-10-02 16:34 ` J. Bruce Fields
2019-10-02 16:52 ` Olga Kornievskaia [this message]
2019-10-02 16:57 ` J. Bruce Fields
2019-09-16 21:13 ` [PATCH v7 14/19] NFSD COPY_NOTIFY xdr Olga Kornievskaia
2019-09-16 21:13 ` [PATCH v7 15/19] NFSD add COPY_NOTIFY operation Olga Kornievskaia
2019-10-01 20:59 ` J. Bruce Fields
2019-10-02 0:14 ` Olga Kornievskaia
2019-10-02 1:35 ` J. Bruce Fields
2019-10-02 15:32 ` Olga Kornievskaia
2019-09-16 21:13 ` [PATCH v7 16/19] NFSD check stateids against copy stateids Olga Kornievskaia
2019-09-16 21:13 ` [PATCH v7 17/19] NFSD generalize nfsd4_compound_state flag names Olga Kornievskaia
2019-09-16 21:13 ` [PATCH v7 18/19] NFSD: allow inter server COPY to have a STALE source server fh Olga Kornievskaia
2019-10-02 19:55 ` J. Bruce Fields
2019-10-07 14:31 ` Olga Kornievskaia
2019-10-07 18:20 ` J. Bruce Fields
2019-09-16 21:13 ` [PATCH v7 19/19] NFSD add nfs4 inter ssc to nfsd4_copy Olga Kornievskaia
2019-09-19 19:55 ` [PATCH 1/1] " Olga Kornievskaia
2019-09-30 19:06 ` [PATCH v7 00/19] client and server support for "inter" SSC copy Olga Kornievskaia
2019-10-01 17:13 ` J. Bruce Fields
2019-10-01 17:47 ` Olga Kornievskaia
2019-10-01 17:50 ` J. Bruce Fields
2019-10-01 19:03 ` Olga Kornievskaia
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=CAN-5tyE2riqB8xTTz+cGJF84FfvSYaBweEPXNKe+kRc4Ma57Yw@mail.gmail.com \
--to=olga.kornievskaia@gmail.com \
--cc=anna.schumaker@netapp.com \
--cc=bfields@fieldses.org \
--cc=bfields@redhat.com \
--cc=linux-nfs@vger.kernel.org \
--cc=trond.myklebust@hammerspace.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).