aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWarner Losh <imp@FreeBSD.org>2022-11-30 22:09:09 +0000
committerWarner Losh <imp@FreeBSD.org>2022-11-30 22:30:32 +0000
commitd16083815caf32dd117487c709b33669cef4af6f (patch)
tree966ed7628ca0634e789a1f028b0ca1aa5af30d8c
parent910de60a7e43c593b5126b2f1ee468c089c8116e (diff)
downloadsrc-d16083815caf32dd117487c709b33669cef4af6f.tar.gz
src-d16083815caf32dd117487c709b33669cef4af6f.zip
stand/ofw: Access the parsing routine more directly
We don't need to check if something is a ZFS device. Instead, if the found device has a parse routine, call it. Otherwise, just copy the path. Sponsored by: Netflix Differential Revision: https://reviews.freebsd.org/D37343
-rw-r--r--stand/libofw/devicename.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/stand/libofw/devicename.c b/stand/libofw/devicename.c
index 292fba927d1a..f03703e3872f 100644
--- a/stand/libofw/devicename.c
+++ b/stand/libofw/devicename.c
@@ -31,7 +31,6 @@ __FBSDID("$FreeBSD$");
#include "bootstrap.h"
#include "libofw.h"
-#include "libzfs.h"
static int ofw_parsedev(struct ofw_devdesc **, const char *, const char **);
@@ -109,15 +108,16 @@ found:
printf("ofw_parsedev: malloc failed\n");
return ENOMEM;
}
- strcpy(idev->d_path, name);
idev->dd.d_dev = dv;
- if (dv->dv_type == DEVT_ZFS) {
+ if (dv->dv_parsedev != NULL) {
p = devspec + strlen(dv->dv_name);
free(idev);
- err = zfs_parsedev((struct devdesc **)&idev, p, path);
+ err = dv->dv_parsedev((struct devdesc **)&idev, p, path);
if (err != 0) {
return (err);
}
+ } else {
+ strcpy(idev->d_path, name);
}
if (dev == NULL) {