Hi Frank We haven't contacted for a long time. Let's sort out the problem. The details are as follows: 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 ************************************************** 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. We modified the case according to Calum Mackay's suggestion (set the parameter lk_is_new in the second lock to FALSE) and the test result passed. Can you tell me if this modification is correct? And the previous discussion is here. https://www.spinics.net/lists/linux-nfs/msg76061.html