shelved files and SAMBA

John Malmberg wb8tyw at
Thu Mar 21 20:08:02 GMT 2002

Much discussion on this list has been about shelved files and SAMBA.
I had an off list discussion about this with Dave Collier-Brown and we 
determined that a summary should be put on this list.

First of all, shelved files are on a special file system that keeps some 
  of the files on disk, and most of the files on some slower low cost 
media, either a tape or a optical jukebox.  Software keeps the most 
requested files on the local disk.  Quite a bit like virtual memory.

To an application doing a directory or a file lookup, all the files look 
like they are actually on the disk, unless it makes a special query.

So why is this a special problem for SAMBA?

Because if a directory containing shelved files is scanned by a Windows 
application, the application will open all of the files that it thinks 
could contain icons looking for them.

This will cause all of the shelved files to be swapped in, and of course 
other files will need to be shelved to make room for them.  This is very 
disruptive to all users of the shelved file systems.

Consider that the whole reason for having a shelved file system is to 
have terabytes of files appear to be on line.

Now the newer Windows Clients understand a shelved file, so hopefully 
they know not to open it unless they really intend to use the contents.

But that still leaves the older clients that do not understand the 

So aside from the issue of identifying the filesystem as one that is 
shelved, the other issue identifying if the client can deal with a 
shelved file.

The issue of identifying a share as containing shelved files can be a 
configuration option.  So even though there is not a POSIX way of 
identifying if a file is shelved, SAMBA will assume that all files on 
that share are shelved.

A VFS can also be coded to provide this information on a per-file basis, 
for a more refined approach.

Now does SAMBA have a way of determining the client characteristics so 
that it will default to not share shelved files to those clients that 
can not deal with them?

Backwards compatability means that this is not as simple as just setting 
an attribute bit.

The performance penalty may not be shown on a lightly loaded shelved 
file system.  If the space the shelved file was formerly allocated has 
not been reused, the shelving software knows that it does not have to 
really pull the file off of the medium.  It also knows that if it 
already has a copy of the file offline, it does not have to do the copy 
out operation.

wb8tyw at
Personal Opinion Only

More information about the samba-technical mailing list