[Glibc-bsd-commits] r3162 - trunk/zfsutils/debian/patches
Tuco Xyz
tuco-guest at alioth.debian.org
Fri Aug 13 22:46:46 UTC 2010
Author: tuco-guest
Date: 2010-08-13 22:46:46 +0000 (Fri, 13 Aug 2010)
New Revision: 3162
Added:
trunk/zfsutils/debian/patches/10_dev_dsk.diff
Modified:
trunk/zfsutils/debian/patches/series
Log:
This makes zpool import work. The real problem here is NOT that /dev/ is not searched for. On FreeBSD scan is usually performed by geom_find_import(), and /dev is not searched unless that fails. The problem was that GNU realpath() fails for inexistant paths and BSD realpath() doesn't.
Added: trunk/zfsutils/debian/patches/10_dev_dsk.diff
===================================================================
--- trunk/zfsutils/debian/patches/10_dev_dsk.diff (rev 0)
+++ trunk/zfsutils/debian/patches/10_dev_dsk.diff 2010-08-13 22:46:46 UTC (rev 3162)
@@ -0,0 +1,40 @@
+--- a/cddl/contrib/opensolaris/cmd/zpool/zpool_main.c
++++ b/cddl/contrib/opensolaris/cmd/zpool/zpool_main.c
+@@ -1468,7 +1468,11 @@
+
+ if (searchdirs == NULL) {
+ searchdirs = safe_malloc(sizeof (char *));
++#ifdef __sun
+ searchdirs[0] = "/dev/dsk";
++#else
++ searchdirs[0] = "/dev";
++#endif
+ nsearch = 1;
+ }
+
+--- a/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_import.c
++++ b/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_import.c
+@@ -848,7 +848,11 @@
+ size_t pathleft;
+ struct stat64 statbuf;
+ nvlist_t *ret = NULL, *config;
++#ifdef __sun
+ static char *default_dir = "/dev/dsk";
++#else
++ static char *default_dir = "/dev";
++#endif
+ int fd;
+ pool_list_t pools = { 0 };
+ pool_entry_t *pe, *penext;
+@@ -894,9 +898,11 @@
+ * reading the labels skips a bunch of slow operations during
+ * close(2) processing, so we replace /dev/dsk with /dev/rdsk.
+ */
++#ifdef __sun
+ if (strcmp(path, "/dev/dsk/") == 0)
+ rdsk = "/dev/rdsk/";
+ else
++#endif
+ rdsk = path;
+
+ if ((dirp = opendir(rdsk)) == NULL) {
Modified: trunk/zfsutils/debian/patches/series
===================================================================
--- trunk/zfsutils/debian/patches/series 2010-08-13 22:24:54 UTC (rev 3161)
+++ trunk/zfsutils/debian/patches/series 2010-08-13 22:46:46 UTC (rev 3162)
@@ -7,3 +7,4 @@
07_manpages.diff
08_libbsd.diff
09_xdr_control.diff
+10_dev_dsk.diff
More information about the Glibc-bsd-commits
mailing list