Date: Fri, 21 Apr 2017 19:51:39 +0000 From: Rick Macklem <rmacklem@uoguelph.ca> To: Jim Phillips <jim@ks.uiuc.edu> Cc: Doug Rabson <dfr@rabson.org>, "freebsd-fs@freebsd.org" <freebsd-fs@freebsd.org> Subject: Re: NFSv4 Linux client atime for exclusive create Message-ID: <YQBPR01MB0180D54069B0219A9A94C1F6DD1A0@YQBPR01MB0180.CANPRD01.PROD.OUTLOOK.COM> In-Reply-To: <Pine.LNX.4.63.1704211122370.76952@sunnyvale.ks.uiuc.edu> References: <YTXPR01MB018992D6CDD2A578B4AC946BDD050@YTXPR01MB0189.CANPRD01.PROD.OUTLOOK.COM> <CACA0VUgkRphRLQh%2BFBcCEb=gB=YdjVFEncor64x1qqov7K4%2Bhw@mail.gmail.com> <YTXPR01MB0189374B9DCCB8D0219FA299DD180@YTXPR01MB0189.CANPRD01.PROD.OUTLOOK.COM> <YTXPR01MB0189EF41F4122B0162A76F0DDD180@YTXPR01MB0189.CANPRD01.PROD.OUTLOOK.COM>, <CACA0VUjVg6BZc4SarH6UVn1DBrJc7MdfLkmKcbgq0OR1ExwD7Q@mail.gmail.com> <YTXPR01MB0189AFA97A8BFE756E6EFE4DDD1B0@YTXPR01MB0189.CANPRD01.PROD.OUTLOOK.COM>, <Pine.LNX.4.63.1704211122370.76952@sunnyvale.ks.uiuc.edu>
next in thread | previous in thread | raw e-mail | index | archive | help
Ok. Thanks for testing it. It is committed to head and will be MFC'd in a couple of weeks. Sorry it was broken for sooooo looonnnggg, rick ________________________________________ From: Jim Phillips <jim@ks.uiuc.edu> Sent: Friday, April 21, 2017 12:25:23 PM To: Rick Macklem Cc: Doug Rabson; freebsd-fs@freebsd.org Subject: Re: NFSv4 Linux client atime for exclusive create Tested the new patch and it fixes the issue (as did the old one). Jim On Thu, 20 Apr 2017, Rick Macklem wrote: > Doug Rabson wrote: >> That was actually going to me my next suggestion, honest. Hopefully that= fixes the >problem, if not its a bug in the Linux client. > Yep, the attached patch fixed the problem. > > I wrote: >> I'll come up with a patch that sets the atime bit in the EXCLUSIVE4 Open >> reply and see if that changes the Linux client. > The attached patch sets the TIMEACCESS bit in the reply for both NFSv4.0 = and NFSv4.1 > and fixes the problem for both cases for a quick test with the Linux clie= nt. (With this > bit set in the reply, Linux sets TIMEACCESSSET in the Setattr.) > > Doug Rabson wrote: >> Is the client using EXCLUSIVE4 or EXCLUSIVE4_1 for the open? If its EXCL= USIVE4_1, i.e. the >mode which allows attribute setting during the open, th= e client should use the value of >the supattr_exclcreat attribute (see sect= ion 5.8.1.14 of rfc5661) to figure out what >attributes can be set. In this= case, supattr_exclcreat should not include atime which should > The FreeBSD NFSv4.1 server does exclude atime from the supattr_exclcreat= bitset and > it checks for it set and returns the correct error. > However, like NFSv4.0, the code didn't set the TIMEACCESS attribute bit i= n the > EXCLUSIVE4_1 reply. (The attached little patch fixes this for both NFSv4.= 0 and NFSV4.1.) > > Thanks everyone for your help. > > I am thinking that storing the create_verifier in an extended attribute f= or file > systems that support extended attributes is a good idea, since it will al= low NFSv4.1 > clients to avoid following the Open/Exclusive4_1 with a Setattr RPC. > Anyone else have an opinion w.r.t. this? > (I'll leave this for a future commit, depending on what others think of t= he idea.) > > I will probably commit the attached patch soon, rick > ps: Jim, I don't think there is any point in testing the other patch, alt= hough I suspect > it would fix the problem. You could test this one, if you can easily= do it. > pss: My only excuse for never doing this is that it is one sentence in an= RFC of > several hundred pages;-) >
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?YQBPR01MB0180D54069B0219A9A94C1F6DD1A0>