diff options
author | Warner Losh <imp@FreeBSD.org> | 2022-11-30 22:09:09 +0000 |
---|---|---|
committer | Warner Losh <imp@FreeBSD.org> | 2022-11-30 22:30:32 +0000 |
commit | d16083815caf32dd117487c709b33669cef4af6f (patch) | |
tree | 966ed7628ca0634e789a1f028b0ca1aa5af30d8c | |
parent | 910de60a7e43c593b5126b2f1ee468c089c8116e (diff) | |
download | src-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.c | 8 |
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) { |