on 14/05/2012 19:11 Andriy Gapon said the following: > on 14/05/2012 18:19 Fabian Keil said the following: >> The following patch seems to work for me: >> >> #### >> commit 7ec69700f2d6944a61f5c7a826e67f46fa160221 >> Author: Fabian Keil <fk_at_fabiankeil.de> >> Date: Mon May 12 16:53:56 2012 +0200 >> >> Default to searching vdevs in /dev. /dev/dsk doesn't exist on FreeBSD. >> >> Fixes import issues if no cachefile exists and -d isn't used: >> >> fk_at_r500 ~ $sudo zpool import wde2 >> cannot open '/dev/dsk': must be an absolute path > > Hah, so this hasn't been fixed actually. > Thank you for the patch! > >> diff --git a/cddl/contrib/opensolaris/cmd/zpool/zpool_main.c b/cddl/contrib/opensolaris/cmd/zpool/zpool_main.c >> index fe76250..5d1e454 100644 >> --- a/cddl/contrib/opensolaris/cmd/zpool/zpool_main.c >> +++ b/cddl/contrib/opensolaris/cmd/zpool/zpool_main.c >> _at__at_ -1909,7 +1909,7 _at__at_ zpool_do_import(int argc, char **argv) >> >> if (searchdirs == NULL) { >> searchdirs = safe_malloc(sizeof (char *)); >> - searchdirs[0] = "/dev/dsk"; >> + searchdirs[0] = "/dev"; >> nsearch = 1; >> } >> #### >> >> The cachefile part is speculation ... > > Not sure if the following is also necessary, but it looks like it makes sense: --- a/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_import.c +++ b/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_import.c _at__at_ -1145,7 +1145,7 _at__at_ zpool_find_import_impl char *end, **dir = iarg->path; size_t pathleft; nvlist_t *ret = NULL; - static char *default_dir = "/dev/dsk"; + static char *default_dir = "/dev"; pool_list_t pools = { 0 }; pool_entry_t *pe, *penext; vdev_entry_t *ve, *venext; I am not sure if zpool_find_import_impl is ever called with empty/zero paths/path in the importargs_t parameter. -- Andriy GaponReceived on Mon May 14 2012 - 14:40:13 UTC
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:40:26 UTC