On Tue, 2017-05-09 at 13:59 -0400, Anna Schumaker wrote: > Hi Trond, > > On 05/08/2017 10:26 AM, Trond Myklebust wrote: > > When using NFS4_CREATE_EXCLUSIVE4_1 mode, the client will > > overestimate the > > amount of space that it needs for the attributes because it does so > > before checking whether or not the server supports a given > > attribute. > > > > Fix by checking the attribute mask earlier. > > Cthon general tests consistently fail with IO errors once this patch > is applied, but only for NFS v4.1 (v2, v3, v4.0, and v4.2 all work > fine). Here is the output that it gives me: > > GENERAL TESTS: directory /nfs/general > if test ! -x runtests; then chmod a+x runtests; fi > cd /nfs/general; rm -f Makefile runtests runtests.wrk *.sh *.c > mkdummy rmdummy nroff.in makefile.tst > cp Makefile runtests runtests.wrk *.sh *.c mkdummy rmdummy nroff.in > makefile.tst /nfs/general > cp: cannot create regular file '/nfs/general/Makefile': Input/output > error > cp: cannot create regular file '/nfs/general/runtests': Input/output > error > cp: cannot create regular file '/nfs/general/runtests.wrk': > Input/output error > cp: cannot create regular file '/nfs/general/large4.sh': Input/output > error > cp: cannot create regular file '/nfs/general/large.c': Input/output > error > cp: cannot create regular file '/nfs/general/large1.c': Input/output > error > cp: cannot create regular file '/nfs/general/large2.c': Input/output > error > cp: cannot create regular file '/nfs/general/large3.c': Input/output > error > cp: cannot create regular file '/nfs/general/stat.c': Input/output > error > cp: cannot create regular file '/nfs/general/mkdummy': Input/output > error > cp: cannot create regular file '/nfs/general/rmdummy': Input/output > error > cp: cannot create regular file '/nfs/general/nroff.in': Input/output > error > cp: cannot create regular file '/nfs/general/makefile.tst': > Input/output error > make: *** [Makefile:32: copy] Error 1 > general tests failed > Duh... The Linux server is returning the list of _all_ attributes when we ask for suppattr_exclcreat instead of sanitising by minor version. Bruce? -- Trond Myklebust Linux NFS client maintainer, PrimaryData trond.myklebust@xxxxxxxxxxxxxxx ��.n��������+%������w��{.n�����{��w���jg��������ݢj����G�������j:+v���w�m������w�������h�����٥