diff options
author | grog <grog@FreeBSD.org> | 2004-02-17 08:43:05 +0000 |
---|---|---|
committer | grog <grog@FreeBSD.org> | 2004-02-17 08:43:05 +0000 |
commit | 55590093d9518557a8233c2e404cde2205c920b3 (patch) | |
tree | b8e63f1308a82c2141f4a8d1ab8d92cc9869a484 /sbin/mount | |
parent | 7309f777b627aa98766d76409b9783bf70760450 (diff) | |
download | FreeBSD-src-55590093d9518557a8233c2e404cde2205c920b3.zip FreeBSD-src-55590093d9518557a8233c2e404cde2205c920b3.tar.gz |
Report the difference between ufs and ufs2.
Submitted by: "Christian S.J. Peron" <maneo@bsdpro.com>
Diffstat (limited to 'sbin/mount')
-rw-r--r-- | sbin/mount/Makefile | 2 | ||||
-rw-r--r-- | sbin/mount/mount.c | 17 |
2 files changed, 16 insertions, 3 deletions
diff --git a/sbin/mount/Makefile b/sbin/mount/Makefile index 407abea..e9e4fdf 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 f05490f..ff768f1 100644 --- a/sbin/mount/mount.c +++ b/sbin/mount/mount.c @@ -50,6 +50,10 @@ static const char rcsid[] = #include <sys/stat.h> #include <sys/wait.h> +#include <ufs/ufs/ufsmount.h> +#include <ufs/ufs/dinode.h> +#include <ufs/ffs/fs.h> + #include <ctype.h> #include <err.h> #include <errno.h> @@ -62,13 +66,14 @@ static const char rcsid[] = #include <stdlib.h> #include <string.h> #include <unistd.h> +#include <libufs.h> #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); |