[linux-cifs-client] Symlinks on Windows-based shares

Jeff Layton jlayton at samba.org
Fri Jan 8 09:23:35 MST 2010


On Fri, 8 Jan 2010 08:58:37 -0700
Doug Kelly <dougk at dougk-ff7.net> wrote:

> I've long seen the Minshall+French format of storing symlinks on shares
> that don't support UNIX Extensions, but has there been any interest or
> work on implementing them within the CIFS VFS?  The format as it's
> described at:
> http://wiki.samba.org/index.php/UNIX_Extensions#Minshall.2BFrench_symlinks
> doesn't seem too bad to implement, and I'd personally be willing to lend
> a hand on it, to the best of my abilities.  I don't think there would be
> any harm in reading them, and being able to write them just provides a 
> fallback in case UNIX Extensions aren't enabled.
> 

The tricky part here is that that would require some overhead to
determine whether an inode is one of these symlinks. Today, if I stat a
file, I do a QPathInfo call (similar to a GETATTR on NFS) and maybe a
second QPathInfo call with a different infolevel to get the unique id.

With that scheme, you'll be turning each stat() call of a file into a
read operation. That requires opening and closing the file too. Each
stat() operation would go from 1 or 2 calls on the wire to 4 or 5.

I'm not opposed to a patchset that implements those, but would probably
suggest that it be configurable via a mount option or something.

-- 
Jeff Layton <jlayton at samba.org>


More information about the linux-cifs-client mailing list