@@ -107,3 +107,23 @@ def testLockBeforeRECC(t, env):
res = sess.compound([op.putfh(cfh), op.lock(READ_LT, FALSE, 0, 1, lowner)])
check(res, NFS4ERR_NO_GRACE)
sess.destroy()
+
+def testDoubleRECC(t, env):
+ """If RECLAIM_COMPLETE is done a second time, error
+ NFS4ERR_COMPLETE_ALREADY will be returned. rfc5661 18.51.4
+
+ FLAGS: reclaim_complete all
+ CODE: RECC4
+ """
+ name = env.testname(t)
+ c = env.c1.new_client(name)
+ sess = c.create_session()
+
+ # RECLAIM_COMPLETE
+ res = sess.compound([op.reclaim_complete(FALSE)])
+ check(res)
+
+ # RECLAIM_COMPLETE again
+ res = sess.compound([op.reclaim_complete(FALSE)])
+ check(res, NFS4ERR_COMPLETE_ALREADY)
+ sess.destroy()