From b04c9fc009ca0a0cabb7550625ff273b9edd9729 Mon Sep 17 00:00:00 2001 From: Brian Behlendorf Date: Fri, 25 May 2012 14:52:56 -0700 Subject: [PATCH] Add /dev/mapper/ to search path When creating pools short device names may be used when those devices appear in certain well known locations under /dev/. This change adds /dev/mapper/ to that list. Signed-off-by: Brian Behlendorf --- lib/libzfs/libzfs_util.c | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/lib/libzfs/libzfs_util.c b/lib/libzfs/libzfs_util.c index 3983f5c..982a6f0 100644 --- a/lib/libzfs/libzfs_util.c +++ b/lib/libzfs/libzfs_util.c @@ -824,14 +824,26 @@ zfs_resolve_shortname(const char *name, char *path, size_t pathlen) char dirs[6][9] = {"by-id", "by-label", "by-path", "by-uuid", "zpool", "by-vdev"}; + /* /dev/ */ (void) snprintf(path, pathlen, "%s/%s", DISK_ROOT, name); err = access(path, F_OK); + if (err == 0) + return (err); + + /* /dev/mapper/ */ + (void) snprintf(path, pathlen, "%s/mapper/%s", DISK_ROOT, name); + err = access(path, F_OK); + if (err == 0) + return (err); + + /* /dev/disk// */ for (i = 0; i < 6 && err < 0; i++) { (void) snprintf(path, pathlen, "%s/%s/%s", UDISK_ROOT, dirs[i], name); err = access(path, F_OK); } - return err; + + return (err); } /* -- 1.8.3.1