Re: Support for applications which need NFS or CIFS "share_deny" flags on open

From: Steve French
Date: Tue Dec 02 2008 - 16:26:40 EST


On Tue, Dec 2, 2008 at 3:20 PM, jim owens <jowens@xxxxxx> wrote:
> Steve French wrote:
>>
>> On Tue, Dec 2, 2008 at 2:06 PM, Jamie Lokier <jamie@xxxxxxxxxxxxx> wrote:
>>>
>>> The bit I find interesting is that other CIFS clients are said to
>>> implement these flags. If that means real unixes, maybe they've
>>> worked out a sensible way to handle them?
>>
>> I thought that MacOS uses these flags (not just Windows, and of course
>> older clients too OS/2, DOS etc.).
>
> The title of their proposal was "client"... as in not the local
> filesystem, but the impression of what wine really wanted is
> for local linux filesystems to implement these non-posix behaviors
> so "wine apps can run just like on windows" on the local machine.
>
> Thus the strong objection from everyone doing local filesystems.
>
> Passing exclusive DENYREAD DENYWRITE DENYDELETE network
> protocol flags from a linux client to a remote server
> is an entirely different and IMO acceptible thing.
>
> And AFAIK on unix the only local support would be by doing
> a client-on-server loopback, where the server implements
> these modes as best it can and you are only protected
> against wine apps that are also inside the "share drive".

Yes, I think that this is more important for network file systems not
local file systems (especially since NFSv4 and CIFS and SMB2 all
support these flags in the protocol definition). Since wine (or any
subsystem running on a single local linux system) can handle its own
locks between application instances, the main problem is that byte
range locks can't perfectly emulate the application semantics needed
when applications are running on two different "clients" (in this
case, one Wine/Linux, and one a Windows client) but mounted to the
same server


--
Thanks,

Steve
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/