Re: Your backup is unsafe!

Kent Overstreet (
Mon, 02 Aug 1999 08:16:51 -0800

Nathan Hand wrote:
> On Mon, Aug 02, 1999 at 11:31:38AM +0100, Robert de Bath wrote:
> > On Mon, 2 Aug 1999, Nathan Hand wrote:
> >
> > > The problem isn't straightforward. Simply stated, VFAT has two names for
> > > a file, both are valid, both must be preserved, only one is visible, but
> > > both are usable at all times. This does not map onto any UNIX filesystem
> > > so some magic is needed.
> >
> > Under _Windows_ both are valid. Do you really think this brain dammage
> > should be kept in Linux? There is no reason for the short name to be
> > visable _except_ when there are interactions with DOS, this comes down
> > to dosemu, samba and backups.
> In retrospect I have to agree. It's clearly better to only show the long
> filenames and have special "VFAT aware" programs to handle backups. This
> can be done via ioctl, a /proc interface, etc. It's a robust solution.
> > > How about a magic file in each VFAT directory which contains mappings of
> > > long to short filenames. You only see the long names using standard UNIX
> > > file I/O. Then backups work, because you backup the magic file too, so a
> > > restore will put the correct short/long mappings back.
> >
> > Yes, I thought of this but the coding would be horrific. I think this would
> > work out to be just the same as using a directory by directory sfn_backup,
> > and IMO it's better to do it in userspace and keep those horrors from the
> > kernel.
> Yes, I agree. The existing Linux VFAT filesystem is clean, UNIX-like, it
> hides the major braindamages, and it fails in very few cases. Far better
> to solve specific problems (like VFAT backups) with specialised tools.

Ok, I've been following this thread for awhile, and I think I missed the
first email, but I don't get something: Why do we need to store the 8.3
version in a backup? It's a pretty simply algorithm to get the 8.3
filename from the LFN one, why not put the 8.3 version back when you
restore to the vfat partition, and completely hide the 8.3 filename?
Most of the other ideas - symlinks, hardlinks, are *extremely* messy and
kludgy, and special vfat aware tools. It shouldn't be hard for Linux to
generate the 8.3 name from the LFN version - when you restore (or are
writing files to a vfat filesystem in general) you make sure Linux puts
in both names. In a previous post, I showed how Windows uses directory
entries with the hidden, system, and volume label attributes to store
the LFN name, the entries are then ignored if you boot into, say DOS
6.22. Now I could be talking out of my ass, but this whole thing just
doesn't make sense to me, especially some of the solutions that have
been proposed. If I'm wrong, feel free to flame me with better
information :)

To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to
Please read the FAQ at