I am a little confused, can you end up with 2 objects if you use openat() 
like FSAL_VFS does? 
Why does FSAL_VFS has a merge() method implementation.
If I change FSAL_GPFS to use openat() do I need to implement merge() ?
Marc.



From:   "Frank Filz" <ffilz...@mindspring.com>
To:     "'nfs-ganesha-devel'" <nfs-ganesha-devel@lists.sourceforge.net>
Date:   09/22/2016 04:33 PM
Subject:        [Nfs-ganesha-devel] Support_ex Oops...



Crud, while working on the documentation for support_ex, just came across 
a
method other folks implementing support_ex missed...

There is the possibility that two open2() calls to open by name will race,
resulting in two fsal_obj_handle's being created. When the MDCACHE 
attempts
to cache the 2nd entry, it will detect a collision, and then it needs to 
fix
things up so the 2nd object handle can be released.

The FSAL is expected to implement the merge() method to accomplish merging
the share reservations.

FSAL_GLUSTER, FSAL_GPFS, and FSAL_RGW do not implement this method...

Which means the default that does nothing will be called. This will result
in the 2nd share reservation being dropped...

This is not good...

Frank



---
This email has been checked for viruses by Avast antivirus software.
https://www.avast.com/antivirus


------------------------------------------------------------------------------
_______________________________________________
Nfs-ganesha-devel mailing list
Nfs-ganesha-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/nfs-ganesha-devel






------------------------------------------------------------------------------
_______________________________________________
Nfs-ganesha-devel mailing list
Nfs-ganesha-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/nfs-ganesha-devel

Reply via email to