[linux-cifs-client] Add support infrastructure for Named Pipe

Gerald Carter jerry at plainjoe.org
Tue Oct 20 15:55:35 MDT 2009


Steve French wrote:

> After looking at Jerry's pointer, and to clarify my earlier comment
> about the librpc.  The likewise code doesn't look it would help,
> especially since it has dependencies on pieces that conflict with
> other parts of Linux. The Likewise librpc doesn't appear to map to
> Samba's libsmbclient (as Rafal's pitch showed it working in the past
> through npmpx), and so doesn't solve the problem for Samba, and it
> can't map pipe open/close/read/write through the cifs vfs (so can't
> address the problem I mentioned where "NetShareEnum" shows shares on
> servers which mount can't reach).   Looking at lwio in more detail, it
> is a FUSE module with an upcall to the smb handling code, so can't
> handle high stress workloads (a file system which allocates memory in
> userspace, or upcalls to userspace, especially in the write patch can
> deadlock as we have easily shown in stress testing in the past with
> various FS).  FUSE (and thus based user space file systems like
> lwio)ares also missing various kernel entry points and opens up bigger
> race conditions on calls which are atomic in libc, but not in the vfs
> layer.   It also looks like the lw librpc is tightly coupled to the
> other pieces of Likewise (which we don't want to get in the way of
> Samba and winbind in particular).

Hey Steve,

I was never advocating this solution.  However, librpc is built
on top of dcerpc which  has a socket abstraction interface.  All
you would need to do is to change the current client side CreateFile()
call to a kernel based open if you have named pipe support in CIFS
fs.[1]   Other people are doing this (one I know of and others are
investigating) on non-linux platforms.  This is all *really* straying
away from the original post which was not my intention.

It seems we have to different threads of discussion going on.
So maybe I'm a bit confused by it all.  I was only saying that
if adding named pipe support to CIFS fs was to help out WINE,
there are already other multiple existing solutions that
would be applicable on the platforms for which WINE is
distributed. [2]

And one point of clarification.  LWIO is not a fuse module.
The fuse module is simply a PoC client for the IoMgr client
side IPC to use the rdr driver inside of lwiod. [3]  It's an
API demo. The lwio-fuse code has nothing to do with the DCE/RPC
runtime, librpc, or ncacn_np.



cheers, jerry
--
[1] http://tinyurl.com/yl3fneb
[2] http://www.winehq.org/download/
[3] http://likewiseopen.org/presentations.php

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 252 bytes
Desc: OpenPGP digital signature
URL: <http://lists.samba.org/pipermail/linux-cifs-client/attachments/20091020/d0ebc87a/attachment.pgp>


More information about the linux-cifs-client mailing list