[RFC] mount(8) can figure out fstype

From: Craig Rodrigues <rodrigc_at_crodrigues.org>
Date: Thu, 18 Jan 2007 08:49:36 -0500
Hi,

This is a different version of the patch I posted here:
http://lists.freebsd.org/pipermail/freebsd-arch/2006-July/005439.html

One of the pet peeves I have with FreeBSD is that
if I have a device with a local filesystem that I want to mount,
I need to explicitly know what type of filesystem is on the
device in order to mount it from the command-line.

For example,

mount -t cd9660
mount -t udf
mount -t ext2fs
mount -t msdosfs

Where this is particularly annoying is if I have multiple
USB thumb drives with different filesystems on them.

What I usually end up doing is something like:
file - < /dev/ad0s4

to figure out the filesystem type, and then mount -t [whatever] to mount it.

What I would like to do is:

mount /dev/ad0s4 /mnt

and if I do not specify a filesystem type with -t, the mount
program should "magically" figure out how to mount the disk.
This is closer to how the mount program behaves on Linux for example.

In this patch, I only modified the userland mount program.
If the user does not specify "-t vfstype" to mount,
the mount program gets a list of local filesystems from the vfs.conflist
sysctl.  It then tries to mount the filesystem, always
starting with "ufs", and then iterating through the list if 
the nmount() fails with EINVAL.

Using this patch, I have been able to do:
mount /dev/blah /mnt

and mount a UFS, cd9660, or FAT filesystem, depending on what filesystem
is on the /dev/blah device.

Comments?
-- 
Craig Rodrigues        
rodrigc_at_crodrigues.org

Received on Thu Jan 18 2007 - 12:49:37 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:39:04 UTC