git: d18ed8e19c3c - main - stand: Try to parse vdisk correctly
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Tue, 11 Nov 2025 00:56:31 UTC
The branch main has been updated by imp:
URL: https://cgit.FreeBSD.org/src/commit/?id=d18ed8e19c3cb264340987bdc191615108d8413a
commit d18ed8e19c3cb264340987bdc191615108d8413a
Author: Warner Losh <imp@FreeBSD.org>
AuthorDate: 2025-11-11 00:41:52 +0000
Commit: Warner Losh <imp@FreeBSD.org>
CommitDate: 2025-11-11 00:56:11 +0000
stand: Try to parse vdisk correctly
PR: 289306
Sponsored by: Netflix
Reviewed by: dab
MFC After: 5 days
Differential Revision: https://reviews.freebsd.org/D52500
---
stand/common/disk.c | 13 ++++++++++++-
1 file changed, 12 insertions(+), 1 deletion(-)
diff --git a/stand/common/disk.c b/stand/common/disk.c
index c1650f0fa1ec..47f882d5a532 100644
--- a/stand/common/disk.c
+++ b/stand/common/disk.c
@@ -417,7 +417,18 @@ disk_parsedev(struct devdesc **idev, const char *devspec, const char **path)
char *cp;
struct disk_devdesc *dev;
- np = devspec + 4; /* Skip the leading 'disk' */
+ /*
+ * disk names look approximately like:
+ * v?disk([0-9]+(p[0-9]+|s[a-z])?)?:
+ * so skip over the initial bit. We don't have access to the devsw
+ * to check the name.
+ */
+ if (strncmp(devspec, "disk", 4) == 0)
+ np = devspec + 4;
+ else if (strncmp(devspec, "vdisk", 5) == 0)
+ np = devspec + 5;
+ else
+ return (EINVAL);
unit = -1;
/*
* If there is path/file info after the device info, then any missing