Just-in-time Symlinks

Michael Gerdts Michael.Gerdts at usa.alcatel.com
Mon Jun 18 12:15:35 GMT 2001

It sounds like you should be able to create a VFS module that does this.
You could then enable it on a share-by-share basis as well.


On Fri, Jun 15, 2001 at 01:31:28PM -0500, Michael H Buselli wrote:
> Hello,
> I was wondering if any changes were made to the Samba source three years
> ago when the just-in-time symlinks discussion was on this list.  I
> looked at the code and the Samba documentation and I cannot see any
> changes.
> This is part of one of the emails in that discussion.
> On June 4, 1998 Albert Chin-A-Young wrote:
> > Ok, following discussions with Paul Epp <epp at clrtech.bc.ca>, there are
> > a total of three ways to solve this problem:
> >         1. Add the following options to smb.conf:
> >                 jit symlinks = yes/no
> >                 file symlinks = [pointer to file with REs]
> >                 directory symlinks = [pointer to file with REs]
> >            Then wrap calls to stat() accordingly so that symbolic
> >            links in a particular directory are treated as files
> >            or directories and force lstat() on them. The
> >            'jit symlinks' stands for 'just-in-time symlinks' and
> >            would enable this feature. This would be a general-
> >            purpose mechanism for anyone with trees of symbolic
> >            links.
> >         2. Move Samba to a Solaris 2.6 platform running the Solaris
> >            automounter. Due to the new browsability feature that
> >            exists in this automounter, Samba can walk the list of
> >            automounter keys without causing a mount storm because
> >            the automounter lies when stat() is called (so nothing
> >            is mounted). An added benefit to this is that we
> >            can point shares directly at the automounter namespace
> >            and get rid of our utility to create a tree of links
> >            from the automounter maps.
> >         3. Modify the Berkeley AMD automounter to lie about stat()
> >            as the Solaris 2.6 automounter does.
> > 
> > What do you all think? Paul is already coding up solution #1 and
> > will be done shortly. I have tested solution #2 and it works just
> > fine (though we're running AMD here).
> I have the result of the code modifications by Paul Ebb to implement #1
> above, but those modifications were done to Samba version 1.9.18p10 and
> we would rather move on to 2.2.x and future releases.
> To re-iterate the problem, we have the Berkeley AMD automounter mounting
> NFS shares that we then want to re-export with Samba.  We have the
> "disappearing mount points" problem that is all too well known when
> automounters are involved.  The just-in-time code wraps calls to
> sys_stat() within Samba and returns fake information instead of calling
> stat() if we are working on a symbolic link to prevent mount storms
> while programs peruse the browsing directories.
> Jeremy Allison was interested in the code but had concerns about
> performance due to the extra overhead before making a stat() call.
> Nevertheless, we would still like to see some method of supporting our
> environment incorporated into the base Samba code.  A compile-time
> option is my suggestion, and this way the extra overhead would not be
> present to those that don't absolutely need it.
> If anyone knows how to solve our problem without code modifications to
> the current Samba code, please let me know so we can avoid anything
> unnecessary.  If you want to read up on the discussion from three years
> ago, search for "just-in-time" on the samba-technical archives at
> http://marc.theaimsgroup.com/.  Thank you.
> --
> Michael H. Buselli
> Senior Network Systems Specialist            Abbott Laboratories
> Email: busellim at pprd.abbott.com              D472/AP9A-L20
> Phone: 847-935-4624                          100 Abbott Park Road
> Fax: 847-935-0142                            Abbott Park, IL  60064-3500

Mike Gerdts                                              (919) 850-5284
Unix Systems Administrator               Michael.Gerdts at usa.alcatel.com

More information about the samba-technical mailing list