* [pynfs PATCH 0/3] a few fixes @ 2019-03-11 15:49 Scott Mayhew 2019-03-11 15:49 ` [pynfs PATCH 1/3] nfs4.1: don't cache sessionids and clientids after destroying Scott Mayhew ` (3 more replies) 0 siblings, 4 replies; 5+ messages in thread From: Scott Mayhew @ 2019-03-11 15:49 UTC (permalink / raw) To: bfields; +Cc: linux-nfs The first patch fixes bogus DESTROY_SESSION and DESTROY_CLIENTID ops being sent to the server. The other two prevent session and client records from hanging around on the server. Scott Mayhew (3): nfs4.1: don't cache sessionids and clientids after destroying nfs4.1: clean up the session and client created in Environment.finish() nfs4.1: close the file created in SEQ10b nfs4.1/server41tests/environment.py | 4 ++++ nfs4.1/server41tests/st_sequence.py | 5 ++++- 2 files changed, 8 insertions(+), 1 deletion(-) -- 2.17.2 ^ permalink raw reply [flat|nested] 5+ messages in thread
* [pynfs PATCH 1/3] nfs4.1: don't cache sessionids and clientids after destroying 2019-03-11 15:49 [pynfs PATCH 0/3] a few fixes Scott Mayhew @ 2019-03-11 15:49 ` Scott Mayhew 2019-03-11 15:49 ` [pynfs PATCH 2/3] nfs4.1: clean up the session and client created in Environment.finish() Scott Mayhew ` (2 subsequent siblings) 3 siblings, 0 replies; 5+ messages in thread From: Scott Mayhew @ 2019-03-11 15:49 UTC (permalink / raw) To: bfields; +Cc: linux-nfs Test.run() cleans up session and client records after every test, but that cleanup doesn't get rid of the locally cached sessionids and clientids, resulting in subsequent tests sending a multiple bogus DESTROY_SESSIONs and DESTROY_CLIENTIDs which all return NFS4ERR_BADSESSION and NFS4ERR_STALE_CLIENTID. Signed-off-by: Scott Mayhew <smayhew@redhat.com> --- nfs4.1/server41tests/environment.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/nfs4.1/server41tests/environment.py b/nfs4.1/server41tests/environment.py index 9e1201f..1a898f8 100644 --- a/nfs4.1/server41tests/environment.py +++ b/nfs4.1/server41tests/environment.py @@ -256,11 +256,13 @@ class Environment(testmod.Environment): """Destroy client name env.c1""" for sessionid in self.c1.sessions.keys(): self.c1.compound([op.destroy_session(sessionid)]) + del(self.c1.sessions[sessionid]) def clean_clients(self): """Destroy client name env.c1""" for clientid in self.c1.clients.keys(): self.c1.compound([op.destroy_clientid(clientid)]) + del(self.c1.clients[clientid]) ######################################### debug_fail = False -- 2.17.2 ^ permalink raw reply related [flat|nested] 5+ messages in thread
* [pynfs PATCH 2/3] nfs4.1: clean up the session and client created in Environment.finish() 2019-03-11 15:49 [pynfs PATCH 0/3] a few fixes Scott Mayhew 2019-03-11 15:49 ` [pynfs PATCH 1/3] nfs4.1: don't cache sessionids and clientids after destroying Scott Mayhew @ 2019-03-11 15:49 ` Scott Mayhew 2019-03-11 15:49 ` [pynfs PATCH 3/3] nfs4.1: close the file created in SEQ10b Scott Mayhew 2019-03-13 14:56 ` [pynfs PATCH 0/3] a few fixes J. Bruce Fields 3 siblings, 0 replies; 5+ messages in thread From: Scott Mayhew @ 2019-03-11 15:49 UTC (permalink / raw) To: bfields; +Cc: linux-nfs Otherwise, they stick around on the server for a lease period. Signed-off-by: Scott Mayhew <smayhew@redhat.com> --- nfs4.1/server41tests/environment.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/nfs4.1/server41tests/environment.py b/nfs4.1/server41tests/environment.py index 1a898f8..0ce6943 100644 --- a/nfs4.1/server41tests/environment.py +++ b/nfs4.1/server41tests/environment.py @@ -208,6 +208,8 @@ class Environment(testmod.Environment): sess = self.c1.new_client_session("Environment.init_%i" % self.timestamp) clean_dir(sess, self.opts.home) sess.c.null() + self.clean_sessions() + self.clean_clients() def startUp(self): """Run before each test""" -- 2.17.2 ^ permalink raw reply related [flat|nested] 5+ messages in thread
* [pynfs PATCH 3/3] nfs4.1: close the file created in SEQ10b 2019-03-11 15:49 [pynfs PATCH 0/3] a few fixes Scott Mayhew 2019-03-11 15:49 ` [pynfs PATCH 1/3] nfs4.1: don't cache sessionids and clientids after destroying Scott Mayhew 2019-03-11 15:49 ` [pynfs PATCH 2/3] nfs4.1: clean up the session and client created in Environment.finish() Scott Mayhew @ 2019-03-11 15:49 ` Scott Mayhew 2019-03-13 14:56 ` [pynfs PATCH 0/3] a few fixes J. Bruce Fields 3 siblings, 0 replies; 5+ messages in thread From: Scott Mayhew @ 2019-03-11 15:49 UTC (permalink / raw) To: bfields; +Cc: linux-nfs Otherwise, the DESTROY_CLIENTID sent during cleanup returns NFS4ERR_CLIENTID_BUSY. Signed-off-by: Scott Mayhew <smayhew@redhat.com> --- nfs4.1/server41tests/st_sequence.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/nfs4.1/server41tests/st_sequence.py b/nfs4.1/server41tests/st_sequence.py index 391b226..c21d8f7 100644 --- a/nfs4.1/server41tests/st_sequence.py +++ b/nfs4.1/server41tests/st_sequence.py @@ -1,6 +1,6 @@ from st_create_session import create_session from xdrdef.nfs4_const import * -from .environment import check, fail, bad_sessionid, create_file +from .environment import check, fail, bad_sessionid, create_file, close_file from xdrdef.nfs4_type import channel_attrs4 import nfs_ops op = nfs_ops.NFS4ops() @@ -223,12 +223,15 @@ def testReplayCache007(t, env): sess1 = env.c1.new_client_session(env.testname(t)) res = create_file(sess1, "%s_1" % env.testname(t)) check(res) + fh = res.resarray[-1].object + stateid = res.resarray[-2].stateid ops = env.home + [op.savefh(),\ op.rename("%s_1" % env.testname(t), "%s_2" % env.testname(t))] res1 = sess1.compound(ops, cache_this=False) check(res1, NFS4_OK) res2 = sess1.compound(ops, seq_delta=0, cache_this=False) check(res2, [NFS4_OK, NFS4ERR_RETRY_UNCACHED_REP]) + close_file(sess1, fh, stateid=stateid) def testOpNotInSession(t, env): """Operations other than SEQUENCE, BIND_CONN_TO_SESSION, EXCHANGE_ID, -- 2.17.2 ^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [pynfs PATCH 0/3] a few fixes 2019-03-11 15:49 [pynfs PATCH 0/3] a few fixes Scott Mayhew ` (2 preceding siblings ...) 2019-03-11 15:49 ` [pynfs PATCH 3/3] nfs4.1: close the file created in SEQ10b Scott Mayhew @ 2019-03-13 14:56 ` J. Bruce Fields 3 siblings, 0 replies; 5+ messages in thread From: J. Bruce Fields @ 2019-03-13 14:56 UTC (permalink / raw) To: Scott Mayhew; +Cc: linux-nfs On Mon, Mar 11, 2019 at 11:49:48AM -0400, Scott Mayhew wrote: > The first patch fixes bogus DESTROY_SESSION and DESTROY_CLIENTID ops > being sent to the server. The other two prevent session and client > records from hanging around on the server. Thanks! All three applied.--b. > > Scott Mayhew (3): > nfs4.1: don't cache sessionids and clientids after destroying > nfs4.1: clean up the session and client created in > Environment.finish() > nfs4.1: close the file created in SEQ10b > > nfs4.1/server41tests/environment.py | 4 ++++ > nfs4.1/server41tests/st_sequence.py | 5 ++++- > 2 files changed, 8 insertions(+), 1 deletion(-) > > -- > 2.17.2 ^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2019-03-13 14:56 UTC | newest] Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2019-03-11 15:49 [pynfs PATCH 0/3] a few fixes Scott Mayhew 2019-03-11 15:49 ` [pynfs PATCH 1/3] nfs4.1: don't cache sessionids and clientids after destroying Scott Mayhew 2019-03-11 15:49 ` [pynfs PATCH 2/3] nfs4.1: clean up the session and client created in Environment.finish() Scott Mayhew 2019-03-11 15:49 ` [pynfs PATCH 3/3] nfs4.1: close the file created in SEQ10b Scott Mayhew 2019-03-13 14:56 ` [pynfs PATCH 0/3] a few fixes J. Bruce Fields
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).