Author: markj
Date: Fri Nov 13 16:47:42 2020
New Revision: 367642
URL: https://svnweb.freebsd.org/changeset/base/367642

Log:
  df: Remove support for mounting devices
  
  This was marked deprecated in r329092, over two and a half years ago.
  This functionality is also buggy per PR 237368.
  
  PR:           237368
  Reviewed by:  brooks, cem, emaste, imp
  Differential Revision:        https://reviews.freebsd.org/D27197

Modified:
  head/bin/df/Makefile
  head/bin/df/df.1
  head/bin/df/df.c

Modified: head/bin/df/Makefile
==============================================================================
--- head/bin/df/Makefile        Fri Nov 13 14:56:34 2020        (r367641)
+++ head/bin/df/Makefile        Fri Nov 13 16:47:42 2020        (r367642)
@@ -10,9 +10,6 @@ SRCS= df.c vfslist.c
 
 CFLAGS+= -I${MOUNT}
 
-CFLAGS+= -DMOUNT_CHAR_DEVS
-SRCS+= getmntopts.c
-
 LIBADD=        xo util
 
 .include <bsd.prog.mk>

Modified: head/bin/df/df.1
==============================================================================
--- head/bin/df/df.1    Fri Nov 13 14:56:34 2020        (r367641)
+++ head/bin/df/df.1    Fri Nov 13 16:47:42 2020        (r367642)
@@ -48,6 +48,7 @@ The
 .Nm
 utility
 displays statistics about the amount of free disk space on the specified
+mounted
 .Ar file system
 or on the file system of which
 .Ar file

Modified: head/bin/df/df.c
==============================================================================
--- head/bin/df/df.c    Fri Nov 13 14:56:34 2020        (r367641)
+++ head/bin/df/df.c    Fri Nov 13 16:47:42 2020        (r367642)
@@ -52,16 +52,10 @@ __FBSDID("$FreeBSD$");
 #include <sys/stat.h>
 #include <sys/mount.h>
 #include <sys/sysctl.h>
-#ifdef MOUNT_CHAR_DEVS
-#include <ufs/ufs/ufsmount.h>
-#endif
 #include <err.h>
 #include <getopt.h>
 #include <libutil.h>
 #include <locale.h>
-#ifdef MOUNT_CHAR_DEVS
-#include <mntopts.h>
-#endif
 #include <stdint.h>
 #include <stdio.h>
 #include <stdlib.h>
@@ -106,9 +100,6 @@ imax(int a, int b)
 
 static int     aflag = 0, cflag, hflag, iflag, kflag, lflag = 0, nflag, Tflag;
 static int     thousands;
-#ifdef MOUNT_CHAR_DEVS
-static struct  ufs_args mdev;
-#endif
 
 static const struct option long_options[] =
 {
@@ -123,21 +114,11 @@ main(int argc, char *argv[])
        struct statfs statfsbuf, totalbuf;
        struct maxwidths maxwidths;
        struct statfs *mntbuf;
-#ifdef MOUNT_CHAR_DEVS
-       struct iovec *iov = NULL;
-#endif
        const char *fstype;
-#ifdef MOUNT_CHAR_DEVS
-       char *mntpath;
-       char errmsg[255] = {0};
-#endif
        char *mntpt;
        const char **vfslist;
        int i, mntsize;
        int ch, rv;
-#ifdef MOUNT_CHAR_DEVS
-       int iovlen = 0;
-#endif
 
        fstype = "ufs";
        (void)setlocale(LC_ALL, "");
@@ -255,66 +236,15 @@ main(int argc, char *argv[])
                                continue;
                        }
                } else if (S_ISCHR(stbuf.st_mode)) {
-                       if ((mntpt = getmntpt(*argv)) == NULL) {
-#ifdef MOUNT_CHAR_DEVS
-                               xo_warnx(
-                                   "df on unmounted devices is deprecated");
-                               mdev.fspec = *argv;
-                               mntpath = strdup("/tmp/df.XXXXXX");
-                               if (mntpath == NULL) {
-                                       xo_warn("strdup failed");
-                                       rv = 1;
-                                       continue;
-                               }
-                               mntpt = mkdtemp(mntpath);
-                               if (mntpt == NULL) {
-                                       xo_warn("mkdtemp(\"%s\") failed", 
mntpath);
-                                       rv = 1;
-                                       free(mntpath);
-                                       continue;
-                               }
-                               if (iov != NULL)
-                                       free_iovec(&iov, &iovlen);
-                               build_iovec_argf(&iov, &iovlen, "fstype", "%s",
-                                   fstype);
-                               build_iovec_argf(&iov, &iovlen, "fspath", "%s",
-                                   mntpath);
-                               build_iovec_argf(&iov, &iovlen, "from", "%s",
-                                   *argv);
-                               build_iovec(&iov, &iovlen, "errmsg", errmsg,
-                                   sizeof(errmsg));
-                               if (nmount(iov, iovlen,
-                                   MNT_RDONLY|MNT_NOEXEC) < 0) {
-                                       if (errmsg[0])
-                                               xo_warn("%s: %s", *argv,
-                                                   errmsg);
-                                       else
-                                               xo_warn("%s", *argv);
-                                       rv = 1;
-                                       (void)rmdir(mntpt);
-                                       free(mntpath);
-                                       continue;
-                               } else if (statfs(mntpt, &statfsbuf) == 0) {
-                                       statfsbuf.f_mntonname[0] = '\0';
-                                       prtstat(&statfsbuf, &maxwidths);
-                                       if (cflag)
-                                               addstat(&totalbuf, &statfsbuf);
-                               } else {
-                                       xo_warn("%s", *argv);
-                                       rv = 1;
-                               }
-                               (void)unmount(mntpt, 0);
-                               (void)rmdir(mntpt);
-                               free(mntpath);
-                               continue;
-#else
+                       mntpt = getmntpt(*argv);
+                       if (mntpt == NULL) {
                                xo_warnx("%s: not mounted", *argv);
                                rv = 1;
                                continue;
-#endif
                        }
-               } else
+               } else {
                        mntpt = *argv;
+               }
 
                /*
                 * Statfs does not take a `wait' flag, so we cannot
_______________________________________________
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to