summaryrefslogtreecommitdiffstats
path: root/sbin/mount
diff options
context:
space:
mode:
authorgrog <grog@FreeBSD.org>2004-02-17 08:43:05 +0000
committergrog <grog@FreeBSD.org>2004-02-17 08:43:05 +0000
commit55590093d9518557a8233c2e404cde2205c920b3 (patch)
treeb8e63f1308a82c2141f4a8d1ab8d92cc9869a484 /sbin/mount
parent7309f777b627aa98766d76409b9783bf70760450 (diff)
downloadFreeBSD-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/Makefile2
-rw-r--r--sbin/mount/mount.c17
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);
OpenPOWER on IntegriCloud