From: Benny Halevy <bhalevy@tonian.com>
To: Tigran Mkrtchyan <kofemann@gmail.com>
Cc: linux-nfs@vger.kernel.org
Subject: Re: [PATH v3 0/5] nfsd41: current state id processing
Date: Mon, 12 Dec 2011 21:44:22 +0200 [thread overview]
Message-ID: <4EE65996.6070901@tonian.com> (raw)
In-Reply-To: <1323621708-25138-1-git-send-email-tigran.mkrtchyan@desy.de>
On 2011-12-11 18:41, Tigran Mkrtchyan wrote:
> From: Tigran Mkrtchyan <kofemann@gmail.com>
>
> This is yet another update of current stateid handling
Thanks! It looks must better every iteration!
>
> currently tested to work in a single compound:
>
> OPEN+CLOSE
> LOCK+WRITE+LOCKU+CLOSE
>
> On the way ( not tested yet ):
> OPEN+LAYOUTGET
>
> TODO:
> dispose current stateid on operations which provide CFH, but do not provide stateid.
>
> Internals:
> 1. struct nfsd4_compound_state contains pointer to current stateid
> 2. operations marked to PROVIDE, CONSUME or CLEAR current stateid.
Does the flag add anything beyond simply implementing
the respective method?
Is CLEAR just a specific form of PROVIDE?
[more comments in reply to the actual patches...]
Thanks,
Benny
> 3. during compound processing before operation execution current stateid copied into
> operations stateid if it's equal to corresponding value ( 0, 1).
> 4. after operation execution current stateid changed to:
> a) point to stateid of last operation
> or
> b) point to NULL, if operation is marked to do so.
>
>
> Probably all patches have to be squashed into a single one before merged
> as none of the changes makes sense without others.
>
> Tigran.
>
> Tigran Mkrtchyan (5):
> nfsd41: handle current stateid in open and close
> nfsd41: handle current stateid on lock and locku
> nfsd41: update operations's stateid iff current stateid is set
> nfsd41: consume current stateid on read and write
> nfsd41: use pinter to current stateid to avoid extra copy
>
> fs/nfsd/current_stateid.h | 22 +++++++++++++++
> fs/nfsd/nfs4proc.c | 55 +++++++++++++++++++++++++++++-------
> fs/nfsd/nfs4state.c | 67 +++++++++++++++++++++++++++++++++++++++++++++
> fs/nfsd/xdr4.h | 1 +
> 4 files changed, 134 insertions(+), 11 deletions(-)
> create mode 100644 fs/nfsd/current_stateid.h
>
prev parent reply other threads:[~2011-12-12 19:44 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-12-11 16:41 [PATH v3 0/5] nfsd41: current state id processing Tigran Mkrtchyan
2011-12-11 16:41 ` [PATH v3 1/5] nfsd41: handle current stateid in open and close Tigran Mkrtchyan
2011-12-12 15:21 ` Benny Halevy
2011-12-12 16:04 ` J. Bruce Fields
2011-12-12 16:42 ` Tigran Mkrtchyan
2011-12-12 16:42 ` Tigran Mkrtchyan
2011-12-11 16:41 ` [PATH v3 2/5] nfsd41: handle current stateid on lock and locku Tigran Mkrtchyan
2011-12-11 16:41 ` [PATH v3 3/5] nfsd41: update operations's stateid iff current stateid is set Tigran Mkrtchyan
2011-12-11 16:41 ` [PATH v3 4/5] nfsd41: consume current stateid on read and write Tigran Mkrtchyan
2011-12-11 16:41 ` [PATH v3 5/5] nfsd41: use pinter to current stateid to avoid extra copy Tigran Mkrtchyan
2011-12-12 15:55 ` Benny Halevy
2011-12-12 20:59 ` Tiramisu Mokka
2011-12-12 19:44 ` Benny Halevy [this message]
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=4EE65996.6070901@tonian.com \
--to=bhalevy@tonian.com \
--cc=kofemann@gmail.com \
--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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.