Date: Mon, 27 Jan 2003 15:28:34 -0800 From: Juli Mallett <jmallett@FreeBSD.org> To: current@FreeBSD.org Cc: tds@dmnstech.net Subject: Diff to make fsck(8) ignore certain filesystems. Message-ID: <20030127152834.A5410@FreeBSD.org>
next in thread | raw e-mail | index | archive | help
This prevents fsck from failing at boot if there are nullfs or unionfs
filesystems in fstab(5), as reported by tds@dmnstech.net. Anyone mind
if I commit this? (Or have suggestions for filesystems to add to the
list?)
%%%
Index: fsck.c
===================================================================
RCS file: /home/ncvs/src/sbin/fsck/fsck.c,v
retrieving revision 1.12
diff -d -u -r1.12 fsck.c
--- fsck.c 31 Oct 2002 15:32:39 -0000 1.12
+++ fsck.c 27 Jan 2003 23:24:51 -0000
@@ -79,6 +79,8 @@
static int flags = 0;
static int forceflag = 0;
+static const char *nofsck[] = { "nullfs", "unionfs", NULL };
+
static int checkfs(const char *, const char *, const char *, char *, pid_t *);
static int selected(const char *);
static void addoption(char *);
@@ -90,6 +92,7 @@
static const char *getfslab(const char *);
static void usage(void) __dead2;
static int isok(struct fstab *);
+static int skip(const char *);
int
main(int argc, char *argv[])
@@ -209,6 +212,10 @@
errx(1, "%s has unknown file system type.",
spec);
}
+ if (skip(type)) {
+ printf("%s: FILESYSTEM DOES NOT SUPPORT FSCK\n", *argv);
+ continue;
+ }
if ((flags & CHECK_BACKGRD) &&
checkfs(type, spec, mntpt, "-F", NULL) == 0) {
printf("%s: DEFER FOR BACKGROUND CHECKING\n", *argv);
@@ -577,6 +584,17 @@
return vfstype;
}
+static int
+skip(const char *fstype)
+{
+ const char *p;
+
+ for (p = nofsck[0]; p != NULL; p++) {
+ if (strcmp(p, fstype) == 0)
+ return 1;
+ }
+ return 0;
+}
static void
usage(void)
%%%
Thanx,
juli.
--
Juli Mallett <jmallett@FreeBSD.org>
AIM: BSDFlata -- IRC: juli on EFnet.
OpenDarwin, Mono, FreeBSD Developer.
ircd-hybrid Developer, EFnet addict.
FreeBSD on MIPS-Anything on FreeBSD.
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?20030127152834.A5410>
