Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 26 Sep 2000 03:51:51 +1100 (EST)
From:      Bruce Evans <bde@zeta.org.au>
To:        Adrian Chadd <adrian@freebsd.org>
Cc:        freebsd-fs@freebsd.org, freebsd-current@freebsd.org
Subject:   Re: Fsck wrappers, revisited
Message-ID:  <Pine.BSF.4.21.0009260346491.12315-100000@besplex.bde.org>
In-Reply-To: <20000923114434.A4419@roaming.cacheboy.net>

next in thread | previous in thread | raw e-mail | index | archive | help
On Sat, 23 Sep 2000, Adrian Chadd wrote:

> On Sat, Sep 23, 2000, Bruce Evans wrote:
> > On Sat, 23 Dec 2000, Adrian Chadd wrote:
> > 
> > > Here's the patch:
> > > 
> > > --- fsck.c.orig Sat Dec 23 11:13:30 2000
> > > +++ fsck.c      Sat Dec 23 11:13:34 2000
> > > @@ -501,7 +501,7 @@
> > >                 errx(1, "partition `%s' is not of a legal vfstype",
> > >                     str);
> > > -       if ((vfstype = dktypenames[t]) == NULL)
> > > +       if ((vfstype = fstypenames[t]) == NULL)
> > >                 errx(1, "vfstype `%s' on partition `%s' is not supported",
> > >                     fstypenames[t], str);
> > > 
> > > 
> > > So now is a problem which I'm sure the NetBSD people came up against.
> > > The fstypenames are names like 4.2BSD, vinum, ISO9660, etc. NetBSD fixed
> > > this by creating a new list 'mountnames[]', which maps the fs type to
> > > a string.
> > 
> > fs typenames are already strings in FreeBSD (the kernel's vfc_index is an
> > implementation detail which should not be visible in applications).
> 
> Oh, wait. I understand what you're talking about now. There isn't any mapping
> to partition type (p_fstype) to fs typename string.
> 
> > > http://cvsweb.netbsd.org/bsdweb.cgi/syssrc/sys/sys/disklabel.h.diff?r1=1.60&r2=1.61
> > > 
> > > What do people think about doing this as well? It would certainly make things
> > > a little tidier, but every time a new fs comes in the magic autodetection code
> > > will need to be updated (if appropriate, of course.)
> > 
> > This would be a bug.
> 
> Well, if you have any suggestions, I'm all for it. :-)

I don't understand the problem.  You get the filesystem type name
(fstypename) from fs_vfstype in struct fstab or from f_fstypename in
struct statfs.  You attempt to execute strcat("/sbin/fsck_", fstypename)
to see if fsck is supported on filesystems of type fstypename.

Bruce



To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-fs" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.BSF.4.21.0009260346491.12315-100000>