From 6a5ffa0630f04b82c7586ea7ac5d936f00673f65 Mon Sep 17 00:00:00 2001 From: Brian Somers Date: Thu, 16 Sep 2010 08:16:53 +0000 Subject: [PATCH] Add support for identifying a journaled root filesystem. Fix support for identifying the given /dev/vinum/root example. MFC after: 3 weeks --- sbin/fdisk/fdisk.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/sbin/fdisk/fdisk.c b/sbin/fdisk/fdisk.c index c53ef8556df..0495a690ea8 100644 --- a/sbin/fdisk/fdisk.c +++ b/sbin/fdisk/fdisk.c @@ -1462,6 +1462,7 @@ sanitize_partition(struct dos_partition *partp) * /dev/da0a => /dev/da0 * /dev/vinum/root => /dev/vinum/root * A ".eli" part is removed if it exists (see geli(8)). + * A ".journal" ending is removed if it exists (see gjournal(8)). */ static char * get_rootdisk(void) @@ -1476,7 +1477,7 @@ get_rootdisk(void) if (statfs("/", &rootfs) == -1) err(1, "statfs(\"/\")"); - if ((rv = regcomp(&re, "^(/dev/[a-z/]+[0-9]+)([sp][0-9]+)?[a-h]?$", + if ((rv = regcomp(&re, "^(/dev/[a-z/]+[0-9]*)([sp][0-9]+)?[a-h]?(\\.journal)?$", REG_EXTENDED)) != 0) errx(1, "regcomp() failed (%d)", rv); strlcpy(dev, rootfs.f_mntfromname, sizeof (dev));