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-current" 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>