linux-nfs.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] CACHE: Fix test script as delegation being introduced
@ 2019-01-24  2:30 Su Yanjun
  2019-02-19  1:00 ` Su Yanjun <suyj.fnst@cn.fujitsu.com>
  0 siblings, 1 reply; 7+ messages in thread
From: Su Yanjun @ 2019-01-24  2:30 UTC (permalink / raw)
  To: mora; +Cc: linux-nfs, Su Yanjun

When we run nfstest_cache with nfsversion=4, it fails.
As i know nfsv4 introduces delegation, so nfstest_cache runs fail since nfsv4.

The test commandline is as below:
 ./nfstest_cache --nfsversion=4 -e  /nfsroot --server 192.168.102.143 --client 192.168.102.142 --runtest acregmax_data --verbose all

This patch adds compatible code for nfsv3 and nfsv4.
When we test nfsv4, just use 'chmod' to recall delegation, then
run the test. As 'chmod' will modify atime, so use 'noatime' mount option.

Signed-off-by: Su Yanjun <suyj.fnst@cn.fujitsu.com>
---
 test/nfstest_cache | 12 +++++++++++-
 1 file changed, 11 insertions(+), 1 deletion(-)

diff --git a/test/nfstest_cache b/test/nfstest_cache
index 0838418..a31d48f 100755
--- a/test/nfstest_cache
+++ b/test/nfstest_cache
@@ -165,8 +165,13 @@ class CacheTest(TestUtil):
             fd = None
             attr = 'data' if data_cache else 'attribute'
             header = "Verify consistency of %s caching with %s on a file" % (attr, self.nfsstr())
+
             # Mount options
-            mtopts = "hard,intr,rsize=4096,wsize=4096"
+            if self.nfsversion >= 4:
+                mtopts = "noatime,hard,intr,rsize=4096,wsize=4096"
+            else: 
+                mtopts = "hard,intr,rsize=4096,wsize=4096"
+
             if actimeo:
                 header += " actimeo = %d" % actimeo
                 mtopts += ",actimeo=%d" % actimeo
@@ -216,6 +221,11 @@ class CacheTest(TestUtil):
             if fstat.st_size != dlen:
                 raise Exception("Size of newly created file is %d, should have been %d" %(fstat.st_size, dlen))
 
+            if self.nfsversion >= 4:
+                # revoke delegation
+                self.dprint('DBG3', "revoke delegation")
+                self.clientobj.run_cmd('chmod +x %s' % self.absfile)
+
             if acregmax:
                 # Stat the unchanging file until acregmax is hit
                 # each stat doubles the valid cache time
-- 
2.7.4




^ permalink raw reply related	[flat|nested] 7+ messages in thread
* [PATCH] CACHE: Fix test script as delegation being introduced
@ 2019-04-08  2:47 Su Yanjun <suyj.fnst@cn.fujitsu.com>
  2019-04-08 16:07 ` J. Bruce Fields
  0 siblings, 1 reply; 7+ messages in thread
From: Su Yanjun <suyj.fnst@cn.fujitsu.com> @ 2019-04-08  2:47 UTC (permalink / raw)
  To: mora; +Cc: linux-nfs, Su Yanjun

When we run nfstest_cache with nfsversion=4, it fails.
As i know nfsv4 introduces delegation, so nfstest_cache runs fail since 
nfsv4.

The test commandline is as below:
./nfstest_cache --nfsversion=4 -e /nfsroot --server 192.168.102.143 
--client 192.168.102.142 --runtest acregmax_data --verbose all

This patch adds compatible code for nfsv3 and nfsv4.
When we test nfsv4, just use 'chmod' to recall delegation, then
run the test. As 'chmod' will modify atime, so use 'noatime' mount option.

Signed-off-by: Su Yanjun <suyj.fnst@cn.fujitsu.com>
---
test/nfstest_cache | 12 +++++++++++-
1 file changed, 11 insertions(+), 1 deletion(-)

diff --git a/test/nfstest_cache b/test/nfstest_cache
index 0838418..a31d48f 100755
--- a/test/nfstest_cache
+++ b/test/nfstest_cache
@@ -165,8 +165,13 @@ class CacheTest(TestUtil):
fd = None
attr = 'data' if data_cache else 'attribute'
header = "Verify consistency of %s caching with %s on a file" % (attr, 
self.nfsstr())
+
# Mount options
- mtopts = "hard,intr,rsize=4096,wsize=4096"
+ if self.nfsversion >= 4:
+ mtopts = "noatime,hard,intr,rsize=4096,wsize=4096"
+ else: + mtopts = "hard,intr,rsize=4096,wsize=4096"
+
if actimeo:
header += " actimeo = %d" % actimeo
mtopts += ",actimeo=%d" % actimeo
@@ -216,6 +221,11 @@ class CacheTest(TestUtil):
if fstat.st_size != dlen:
raise Exception("Size of newly created file is %d, should have been %d" 
%(fstat.st_size, dlen))
+ if self.nfsversion >= 4:
+ # revoke delegation
+ self.dprint('DBG3', "revoke delegation")
+ self.clientobj.run_cmd('chmod +x %s' % self.absfile)
+
if acregmax:
# Stat the unchanging file until acregmax is hit
# each stat doubles the valid cache time

-- 
2.7.4




^ permalink raw reply related	[flat|nested] 7+ messages in thread
* [Problem]testOpenUpgradeLock test failed in nfsv4.0 in 5.2.0-rc7
@ 2019-07-03  1:34 Su Yanjun
  2019-07-08  2:20 ` Su Yanjun
  0 siblings, 1 reply; 7+ messages in thread
From: Su Yanjun @ 2019-07-03  1:34 UTC (permalink / raw)
  To: ffilzlnx; +Cc: linux-nfs, linux-kernel

Hi Frank

We tested the pynfs of NFSv4.0 on the latest version of the kernel 
(5.2.0-rc7).
I encountered a problem while testing st_lock.testOpenUpgradeLock. The 
problem is now as follows:
**************************************************
LOCK24 st_lock.testOpenUpgradeLock : FAILURE
            OP_LOCK should return NFS4_OK, instead got
            NFS4ERR_BAD_SEQID
**************************************************
Is this normal?

The case is as follows:
Def testOpenUpgradeLock(t, env):
     """Try open, lock, open, downgrade, close

     FLAGS: all lock
     CODE: LOCK24
     """
     c= env.c1
     C.init_connection()
     Os = open_sequence(c, t.code, lockowner="lockowner_LOCK24")
     Os.open(OPEN4_SHARE_ACCESS_READ)
     Os.lock(READ_LT)
     Os.open(OPEN4_SHARE_ACCESS_WRITE)
     Os.unlock()
     Os.downgrade(OPEN4_SHARE_ACCESS_WRITE)
     Os.lock(WRITE_LT)
     Os.close()

After investigation, there was an error in unlock->lock. When unlocking, 
the lockowner of the file was not released, causing an error when 
locking again.
Will nfs4.0 support 1) open-> 2) lock-> 3) unlock-> 4) lock this function?




^ permalink raw reply	[flat|nested] 7+ messages in thread
[parent not found: <890610570fcd48d8b28b30e89f1f0038@G08CNEXMBPEKD05.g08.fujitsu.local>]

end of thread, other threads:[~2020-01-09 15:36 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-01-24  2:30 [PATCH] CACHE: Fix test script as delegation being introduced Su Yanjun
2019-02-19  1:00 ` Su Yanjun <suyj.fnst@cn.fujitsu.com>
2019-04-08  2:47 Su Yanjun <suyj.fnst@cn.fujitsu.com>
2019-04-08 16:07 ` J. Bruce Fields
2019-07-03  1:34 [Problem]testOpenUpgradeLock test failed in nfsv4.0 in 5.2.0-rc7 Su Yanjun
2019-07-08  2:20 ` Su Yanjun
2019-07-08 13:48   ` Daniel Gryniewicz
2019-07-08 14:45     ` Frank Filz
2019-07-09  5:27       ` Su Yanjun
2019-07-29  1:54         ` [PATCH] CACHE: Fix test script as delegation being introduced Su Yanjun
2019-07-29 14:11           ` Olga Kornievskaia
     [not found] <890610570fcd48d8b28b30e89f1f0038@G08CNEXMBPEKD05.g08.fujitsu.local>
2020-01-09 15:36 ` bfields

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).