Re: Symlinks on Windows-based shares
Jeff Layton <[email protected]>
| Newsgroups | gmane.linux.file-systems.cifs |
|---|---|
| Message-ID | <[email protected]> |
On Fri, 8 Jan 2010 08:58:37 -0700 Doug Kelly <[email protected]> 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 <[email protected]>