Unfortunately out in the real world, people want to mix POSIX and Microsoft 
semantics…

 

So we do the best we can.

 

I wonder how much of the multi-protocol use falls into two camps:

 

1.      Simple file sharing, for example, I run Virtual Box on a Windows 
machine to get Linux VMs. I mount my Windows “My Documents” into the Linux VM 
so I can easily pass files back and forth. Share reservations work and prevent 
Linux from trampling things if Microsoft Word happens to have a file open.

2.      Some kind of database application with clients on multiple platforms. 
Such application will use appropriate synchronizing operations including byte 
range locks in a way that does not depend on any of the peculiarities of POSIX 
or Microsoft semantics.

 

Yea, we can try to make things like delete of open files work as best as 
possible, but either of those two use cases won’t have any really big surprises 
if the integration for a peculiarity like deleting an open file isn’t perfect.

 

Now one use case that may not go so well is an application that uses lock files 
to indicate which client or process is active…

 

I’ve seen folks paranoid that POSIX byte range locks are only advisory, but 
outside of a program bug, if a POSIX app and a Windows app are both using byte 
range locks to protect records they are changing, it doesn’t matter that POSIX 
thinks they are only advisory… Of course a server CAN enforce the range locks 
(and NFS v4 even supports this idea), and yea, that will break a POSIX app that 
thought it didn’t actually need to respect the locks.

 

I think overall Ganesha does a pretty good job. There are places where it can 
do better.

 

While talk of having an SMB front end to Ganesha are fun, I doubt we will ever 
do that, and I don’t think it’s necessary to have sufficiently good integration 
to cover 99.9% of the possible multi-protocol use cases.

 

Frank

 

From: DENIEL Philippe [mailto:philippe.den...@cea.fr] 
Sent: Wednesday, March 7, 2018 6:28 AM
To: Pradeep <pradeeptho...@gmail.com>; nfs-ganesha-devel 
<nfs-ganesha-devel@lists.sourceforge.net>
Subject: Re: [Nfs-ganesha-devel] Multiprotocol support in ganesha

 

Hi,

from a "stratospheric" point of view, I see a potentially big issue ahead for 
such a feature : FSAL has been designed to be quite close to POSIX behavior, 
CIFS follows the Microsoft File System semantics, which is pretty different 
from POSIX.
My experience with 9p integration in Ganesha shows some issues in POSIX corner 
cases (like "delete on close" situations), I can't imagine what integrating a 
CIFS support would mean. 
Years ago, Tom Tapley came to bake-a-thon (this was a few months after he 
joined Microsoft Research) and he talked about issues met by Microsoft to 
implement a NFSv4 support, because of Microsoft semantics. He found many, but 
was quite optimistic. Current state : Windows has no NFS support and code 
developed at CITI (e.g. NFSv4 clients for Windos) were not pushed to Windows.
Microsoft is not POSIX and POSIX is not Microsoft. They live in two very 
different worlds, and it's probably better so ;-)

    Regards

        Philippe

On 03/06/18 18:20, Pradeep wrote:

Hello,

 

Is there plans to implement multiprotocol (NFS and CIFS accessing same 
export/share) in ganesha? I believe current FD cache will need changes to 
support that.

 

Thanks,

Pradeep






------------------------------------------------------------------------------
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 
<mailto: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

Reply via email to