Very short explanation for the impatient!!!
|
Very short explanation for the impatient!!!
|
|
|
Umsdos is a file system driver that run on top the MSDOS fs driver.
|
Umsdos is a file system driver that run on top the MSDOS fs driver.
|
It is written by Jacques Gelinas (jacques@solucorp.qc.ca)
|
It is written by Jacques Gelinas (jacques@solucorp.qc.ca)
|
|
|
Umsdos is not a file system per se, but a twist to make a boring
|
Umsdos is not a file system per se, but a twist to make a boring
|
one into a useful one.
|
one into a useful one.
|
|
|
It gives you:
|
It gives you:
|
|
|
long file name
|
long file name
|
Permissions and owner
|
Permissions and owner
|
Links
|
Links
|
Special files (devices, pipe...)
|
Special files (devices, pipe...)
|
All is need to be a linux root fs.
|
All is need to be a linux root fs.
|
|
|
There is plenty of documentation on it in the source. A formated document
|
There is plenty of documentation on it in the source. A formated document
|
made from those comments is available from
|
made from those comments is available from
|
sunsite.unc.edu:/pub/Linux/system/Filesystems/umsdos.
|
sunsite.unc.edu:/pub/Linux/system/Filesystems/umsdos.
|
|
|
Mostly...
|
Mostly...
|
|
|
You mount a DOS partition like this
|
You mount a DOS partition like this
|
|
|
mount -t umsdos /dev/hda3 /mnt
|
mount -t umsdos /dev/hda3 /mnt
|
^
|
^
|
---------|
|
---------|
|
|
|
All option are passed to the msdos drivers. Option like uid,gid etc are
|
All option are passed to the msdos drivers. Option like uid,gid etc are
|
given to msdos.
|
given to msdos.
|
|
|
The default behavior of Umsdos is to do the same thing as the msdos driver
|
The default behavior of Umsdos is to do the same thing as the msdos driver
|
mostly passing commands to it without much processing. Again, this is
|
mostly passing commands to it without much processing. Again, this is
|
the default. After doing the mount on a DOS partition, nothing special
|
the default. After doing the mount on a DOS partition, nothing special
|
happen. This is why all mount options are passed to the Msdos fs driver.
|
happen. This is why all mount options are passed to the Msdos fs driver.
|
|
|
Umsdos use a special DOS file --linux-.--- to store the information
|
Umsdos use a special DOS file --linux-.--- to store the information
|
which can't be handle by the normal MsDOS file system. This is the trick.
|
which can't be handle by the normal MsDOS file system. This is the trick.
|
|
|
--linux-.--- is optional. There is one per directory.
|
--linux-.--- is optional. There is one per directory.
|
|
|
**** If --linux-.--- is missing, then Umsdos process the directory the
|
**** If --linux-.--- is missing, then Umsdos process the directory the
|
same way the msdos driver do. Short file name, no goodies, default
|
same way the msdos driver do. Short file name, no goodies, default
|
owner and permissions. So each directory may have or not this
|
owner and permissions. So each directory may have or not this
|
--linux-.---
|
--linux-.---
|
|
|
Now, how to get those --linux-.---.
|
Now, how to get those --linux-.---.
|
|
|
\begin joke_section
|
\begin joke_section
|
|
|
Well send me a directory content
|
Well send me a directory content
|
and I will send you one customised for you.
|
and I will send you one customised for you.
|
$5 per directory. Add any applicable taxes.
|
$5 per directory. Add any applicable taxes.
|
\end joke_section
|
\end joke_section
|
|
|
A utility umssync creates those. The kernel maintain them. It is available
|
A utility umssync creates those. The kernel maintain them. It is available
|
from the same directory above (sunsite) in the file umsdos_progs-0.7.tar.gz.
|
from the same directory above (sunsite) in the file umsdos_progs-0.7.tar.gz.
|
A compiled version is available in umsdos_progs-0.7.bin.tar.gz.
|
A compiled version is available in umsdos_progs-0.7.bin.tar.gz.
|
|
|
So in our example, after mounting mnt, we do
|
So in our example, after mounting mnt, we do
|
|
|
umssync .
|
umssync .
|
|
|
This will promote this directory (a recursive option is available) to full
|
This will promote this directory (a recursive option is available) to full
|
umsdos capabilities (long name ...). A ls -l before and after won't show
|
umsdos capabilities (long name ...). A ls -l before and after won't show
|
much difference however. The file which were there are still there. But now
|
much difference however. The file which were there are still there. But now
|
you can do all this:
|
you can do all this:
|
|
|
chmod 644 *
|
chmod 644 *
|
chown you.your_groupe *
|
chown you.your_groupe *
|
ls >THIS_IS.A.VERY.LONG.NAME
|
ls >THIS_IS.A.VERY.LONG.NAME
|
ln -s toto tata
|
ln -s toto tata
|
ls -l
|
ls -l
|
|
|
Once a directory is promoted, all subdirectory created will inherit that
|
Once a directory is promoted, all subdirectory created will inherit that
|
promotion.
|
promotion.
|
|
|
What happen if you boot DOS and create files in those promoted directories ?
|
What happen if you boot DOS and create files in those promoted directories ?
|
Umsdos won't notice new files, but will signal removed file (it won't crash).
|
Umsdos won't notice new files, but will signal removed file (it won't crash).
|
Using umssync in /etc/rc will make sure the DOS directory is in sync with
|
Using umssync in /etc/rc will make sure the DOS directory is in sync with
|
the --linux-.---.
|
the --linux-.---.
|
|
|
It is a good idea to put the following command in your RC file just
|
It is a good idea to put the following command in your RC file just
|
after the "mount -a":
|
after the "mount -a":
|
|
|
mount -a
|
mount -a
|
/sbin/umssync -i+ -c+ -r99 /umsdos_mount_point
|
/sbin/umssync -i+ -c+ -r99 /umsdos_mount_point
|
|
|
(You put one for each umsdos mount point in the fstab)
|
(You put one for each umsdos mount point in the fstab)
|
|
|
This will insure nice operation. A umsdos.fsck is in the making,
|
This will insure nice operation. A umsdos.fsck is in the making,
|
so you will be allowed to managed umsdos partition in the same way
|
so you will be allowed to managed umsdos partition in the same way
|
other filesystem are, using the generic fsck front end.
|
other filesystem are, using the generic fsck front end.
|
|
|
Hope this helps!
|
Hope this helps!
|
|
|
|
|