> This is all different in 2.4 and later, where MDCACHE takes out much of this > special handling. I suspect it's correct now.
Support_ex also should have improved various create scenarios. I'm working on an even more improved create, but it's been hung up with issues for 9P... Frank > On 03/13/2017 12:15 PM, sriram patil wrote: > > Hi, > > > > According to POSIX semantics, when open is does with O_CREAT and > > O_EXCL then it should return EEXIST. But, ganesha always expects fsal > > layer to return EEXIST from create if the file already exists. This is > > handled in cache_inode_create. If fsal create returns EEXIST then > > ganesha does a lookup and checks for the type of file and then returns > > the entry if the type matches. > > > > On the other hand, if fsal create does not return error even if the > > file exists (non O_EXCL semantics), ganesha goes ahead and tries to > > add a directory entry (cache_inode_add_cached_dirent), which returns > > CACHE_INODE_ENTRY_EXISTS and create fails! > > > > A simple way to reproduce this is, mount same export on two different > > clients and do the following steps to reproduce. > > > > client1:/mnt> echo abc > testfile > > client2:/mnt> echo abc > testfile > > bash: testfile: File exists > > > > I think ganesha should ignore the return status of > > cache_inode_add_cached_dirent if it is CACHE_INODE_ENTRY_EXISTS (This > > is already done in cache_inode_lookup_impl). This way the EEXIST error > > will not be propagated to nfs-client. > > > > Thanks, > > Sriram > > > > ---------------------------------------------------------------------- > > -------- Check out the vibrant tech community on one of the world's > > most engaging tech sites, Slashdot.org! http://sdm.link/slashdot > > _______________________________________________ > > Nfs-ganesha-devel mailing list > > Nfs-ganesha-devel@lists.sourceforge.net > > https://lists.sourceforge.net/lists/listinfo/nfs-ganesha-devel > > > > > ---------------------------------------------------------------------------- -- > Check out the vibrant tech community on one of the world's most engaging > tech sites, Slashdot.org! http://sdm.link/slashdot > _______________________________________________ > Nfs-ganesha-devel mailing list > Nfs-ganesha-devel@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/nfs-ganesha-devel --- This email has been checked for viruses by Avast antivirus software. https://www.avast.com/antivirus ------------------------------------------------------------------------------ Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot _______________________________________________ Nfs-ganesha-devel mailing list Nfs-ganesha-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/nfs-ganesha-devel