shelved files and SAMBA
John Malmberg
wb8tyw at qsl.net
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
filesystem.
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.
-John
wb8tyw at qsl.network
Personal Opinion Only
More information about the samba-technical
mailing list