LWN.net Logo

CIFS? Really?

CIFS? Really?

Posted Feb 9, 2007 10:10 UTC (Fri) by drag (subscriber, #31333)
In reply to: CIFS? Really? by proski
Parent article: Why a secret patent deal won't help Linux/Windows (LinuxWorld)

Well from other interviews I've heard from Samba developers they have very very good reasons why NFS sucks and why NFSv4 sucks and such (which I suppose people here can understand their points better then I)

The deal is that SMB/CIFS stuff is one of those it's a standard, but it's not a standard. It's one of those things that so much is left up in the air in terms of the actual protocol design you can make it pretty much do whatever you want.

So the idea to make Samba better native network FS for Linux workgroups then NFS is to modify Samba to automaticly detect weither or not both hosts are Linux (or probably include BSDs and such) and then when that happens they have the client and server just completely bypass all the Windows compatability crud and use optimized protocols specificly for Linux.

Do things like support Linux-style ACLs properly, support special file types properly, and make it so that you can do things like setup your /home on a Samba share or boot off of a Samba share with no compatability issues.

So the idea is that this would be integrated into Samba and one the many many different variations on 'SMB' that it supports.

(Pretty much for every version of Windows released, Microsoft changed the protocol. SMB acts differently on a mobile device vs desktop. Windows XP/2003 is incompatable with Windows file sharing when done without Active Directory support, DOS versions have their own SMB protocol that Samba supports, etc etc etc.)

For my personal life the FUSE version of sshfs has effectively replaced Samba and NFS. It's much faster then Samba, and it's even faster then NFS for networks that are 100MB/s and slower. Also with the various authentication protocols that SSH supports then it's very easy to setup and make secure and convient to use. But I wouldn't want to use it in a heavily multiuser environment and you can't do things like boot off of it and such.

It would be nice to have a replacement protocol that would work with Fuse. FunFS was interesting and it was suppose to be _much_ faster then NFS, but it's dead now.

But Samba is pretty good and everybody has to use it anyways for Windows compatability, so why not make it faster and more compatable with Linux?


(Log in to post comments)

CIFS? Really?

Posted Feb 9, 2007 10:14 UTC (Fri) by drag (subscriber, #31333) [Link]

Oops ment 100Mb/s and slower, not 100MB! NFS has a good edge over sshfs on gigabit networks, even without any tuning.

Although OpenISCSI initiator with 'Enterprise iSCSI Target' is faster (but obviously not suitable for environments were you have many clients.)

CIFS? Really?

Posted Feb 15, 2007 6:08 UTC (Thu) by k8to (subscriber, #15413) [Link]

sshfs when you manually request blowfish works okay, but at a pretty high cpu cost. It frsutrates me for lan usage that the OpenSSH people refuse to support the 'none' cipher, because sshfs would be much more competitive.

However sshfs is VASTLY inferior in the realm of cacheing to both CIFS and NFS. A repeated ls with a minute of pause can incur significant lag with sshfs, wheras nfs or cifs will leave it instantaneous. Also while NFS and CIFS may be very unpleasant in handling the restoration of client/server connectivity, sshfs simply fails entirely.

sshfs also does not support the full range of file semantics without error. Try mmapping in a few large files from sshfs, and your program will likely encounter mysterious stalls which do not recover.

That said, for many use cases sshfs is by far the best choice. It has far more sane permission handling, and the lack of need to specially configure the server is fantastic. Error reporting is clear and accessible, and peformance is quite livable for very small files, low access, and low bandwidth.

Copyright © 2008, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds