From: "J. Bruce Fields" <bfields@xxxxxxxxxx> In particular this causes spurious failures against any server that does not allow renames of open files. There are probably many more places where we should really be doing closes. Note: it might also be interesting to do a purely informational test to determine whether a server allows renames of open files. Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> --- nfs4.1/server41tests/environment.py | 14 +++++++++++++- 1 files changed, 13 insertions(+), 1 deletions(-) diff --git a/nfs4.1/server41tests/environment.py b/nfs4.1/server41tests/environment.py index e9d2237..2566274 100644 --- a/nfs4.1/server41tests/environment.py +++ b/nfs4.1/server41tests/environment.py @@ -550,6 +550,18 @@ def create_confirm(sess, owner, path=None, attrs={FATTR4_MODE: 0644}, return fh, res.resarray[-2].stateid return fh, openstateid +def create_close(sess, owner, path=None, attrs={FATTR4_MODE: 0644}, + access=OPEN4_SHARE_ACCESS_BOTH, + deny=OPEN4_SHARE_DENY_NONE, + mode=GUARDED4): + """Create (using open) a regular file, confirm the open, and close + + Returns the fhandle + """ + fh, stateid = create_confirm(sess, owner, path, attrs, access, deny, mode) + close_file(sess, fh, stateid=stateid) + return fh; + def _getname(owner, path): if path is None: return owner @@ -580,7 +592,7 @@ def maketree(sess, tree, root=None, owner=None): check(res) maketree(sess, obj[1:], root + [obj[0]], owner) else: - create_confirm(sess, owner, root + [obj]) + create_close(sess, owner, root + [obj]) def lookup_obj(sess, path): compound = [op.putrootfh()] -- 1.7.7.6 -- To unsubscribe from this list: send the line "unsubscribe linux-nfs" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html