From c6d1415d6ac87956d6639a19758f3ae18ad5278c Mon Sep 17 00:00:00 2001 From: Greg Lehey Date: Tue, 17 Feb 2004 08:43:05 +0000 Subject: [PATCH] Report the difference between ufs and ufs2. Submitted by: "Christian S.J. Peron" --- sbin/mount/Makefile | 2 ++ sbin/mount/mount.c | 17 ++++++++++++++--- 2 files changed, 16 insertions(+), 3 deletions(-) diff --git a/sbin/mount/Makefile b/sbin/mount/Makefile index 407abea2f1f3..e9e4fdf5f549 100644 --- a/sbin/mount/Makefile +++ b/sbin/mount/Makefile @@ -3,6 +3,8 @@ PROG= mount SRCS= mount.c mount_ufs.c getmntopts.c vfslist.c +DPADD= ${LIBUFS} +LDADD= -lufs WARNS?= 0 MAN= mount.8 # We do NOT install the getmntopts.3 man page. diff --git a/sbin/mount/mount.c b/sbin/mount/mount.c index f05490f41540..ff768f1a1483 100644 --- a/sbin/mount/mount.c +++ b/sbin/mount/mount.c @@ -50,6 +50,10 @@ static const char rcsid[] = #include #include +#include +#include +#include + #include #include #include @@ -62,13 +66,14 @@ static const char rcsid[] = #include #include #include +#include #include "extern.h" #include "mntopts.h" #include "pathnames.h" /* `meta' options */ -#define MOUNT_META_OPTION_FSTAB "fstab" +#define MOUNT_META_OPTION_FSTAB "fstab" #define MOUNT_META_OPTION_CURRENT "current" int debug, fstab_style, verbose; @@ -514,10 +519,16 @@ prmount(sfp) int flags, i; struct opt *o; struct passwd *pw; + struct uufsd disk; (void)printf("%s on %s (%s", sfp->f_mntfromname, sfp->f_mntonname, sfp->f_fstypename); + if (strncmp(sfp->f_fstypename, "ufs", 3) == 0) { + ufs_disk_fillout(&disk, sfp->f_mntonname); + printf("%s", (disk.d_ufs == 2) ? "2" : ""); + } + flags = sfp->f_flags & MNT_VISFLAGMASK; for (o = optnames; flags && o->o_opt; o++) if (flags & o->o_opt) { @@ -664,7 +675,7 @@ update_options(opts, fstab, curflags) for (p = expopt; (o = strsep(&p, ",")) != NULL;) { if ((tmpopt = malloc( strlen(o) + 2 + 1 )) == NULL) errx(1, "malloc failed"); - + strcpy(tmpopt, "no"); strcat(tmpopt, o); remopt(newopt, tmpopt); @@ -721,7 +732,7 @@ putfsent(ent) { struct fstab *fst; char *opts; - + opts = flags2opts(ent->f_flags); printf("%s\t%s\t%s %s", ent->f_mntfromname, ent->f_mntonname, ent->f_fstypename, opts);