Author: cem
Date: Wed Sep 23 21:08:52 2015
New Revision: 288153
URL: https://svnweb.freebsd.org/changeset/base/288153

Log:
  geom_dev: Use kenv 'dumpdev' in the same way as rc/etc.d/dumpon
  
  Skip a /dev/ prefix, if one is present, when checking for matching
  device names for dump.
  
  Suggested by: avg
  Reviewed by:  markj
  Sponsored by: EMC / Isilon Storage Division
  Differential Revision:        https://reviews.freebsd.org/D3725

Modified:
  head/sys/geom/geom_dev.c

Modified: head/sys/geom/geom_dev.c
==============================================================================
--- head/sys/geom/geom_dev.c    Wed Sep 23 20:46:23 2015        (r288152)
+++ head/sys/geom/geom_dev.c    Wed Sep 23 21:08:52 2015        (r288153)
@@ -124,6 +124,7 @@ g_dev_fini(struct g_class *mp)
 {
 
        freeenv(dumpdev);
+       dumpdev = NULL;
 }
 
 static int
@@ -152,10 +153,16 @@ g_dev_setdumpdev(struct cdev *dev, struc
 static void
 init_dumpdev(struct cdev *dev)
 {
+       const char *devprefix = "/dev/", *devname;
+       size_t len;
 
        if (dumpdev == NULL)
                return;
-       if (strcmp(devtoname(dev), dumpdev) != 0)
+       len = strlen(devprefix);
+       devname = devtoname(dev);
+       if (strcmp(devname, dumpdev) != 0 &&
+          (strncmp(dumpdev, devprefix, len) != 0 ||
+           strcmp(devname, dumpdev + len) != 0))
                return;
        if (g_dev_setdumpdev(dev, curthread) == 0) {
                freeenv(dumpdev);
_______________________________________________
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