Re: [PATCH] NFSv4: Fix exclusive create attributes encoding

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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�����٥




[Index of Archives]     [Linux Filesystem Development]     [Linux USB Development]     [Linux Media Development]     [Video for Linux]     [Linux NILFS]     [Linux Audio Users]     [Yosemite Info]     [Linux SCSI]

  Powered by Linux