[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