Re: [nfsv4] open(O_CREAT) returns EEXISTS on symbolic link created on another system until stat()ed

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

 



On Thu, 2012-03-29 at 11:32 -0600, Orion Poplawski wrote:
> On 03/29/2012 10:54 AM, Myklebust, Trond wrote:
> > On Thu, 2012-03-29 at 16:28 +0000, Orion Poplawski wrote:
> >> I filed a bug here: https://bugzilla.redhat.com/show_bug.cgi?id=808112
> >>
> >> Description of problem:
> >>
> >> client A:
> >> touch blah
> >> ln -s blah blahlink
> >>
> >> client B:
> >> open("blahlink", O_RDONLY|O_CREAT, 0666) = -1 EEXIST (File exists)
> >
> > That sounds more like a server bug. It shouldn't be replying
> > NFS4ERR_EXIST here, since this isn't an exclusive create; it should
> > rather be replying with NFS4ERR_SYMLINK.
> >
> > Which server are you testing against, and what does the wireshark trace
> > show?
> >
> 
> Well, I can reproduce it against an EL6.2 server with an EL6.2 client with v3. 
>   First tests were with and EL5.8 server.  I can't reproduce with Fedora 
> clients against the EL6.2 server with v3.
> 
> The EL6.2 client/server exchange in nfsel.log, F15/EL6.2 exchange in nfsf15.log
> 
> The EL6.2 client appears to be using a version 4 call even though I think it's 
> mounted v3:
> 
> saga:/export/sw on /data/sw type nfs 
> (rw,noatime,intr,rsize=32768,wsize=32768,sloppy,addr=10.10.10.2)


It has got to be mounted v4. I'd check /proc/mounts.

> Going back to v4 on EL5.8 server: nfsv4el.log, nfsv4f18.log
> 
> Both get NFS4ERR_EXIST in this case.

Which is an obvious server bug: it should be sending NFS4ERR_SYMLINK in
reply to that OPEN.

Bruce?

-- 
Trond Myklebust
Linux NFS client maintainer

NetApp
Trond.Myklebust@xxxxxxxxxx
www.netapp.com

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