Tags: patch

Today I filed a bug about this same problem, having found this earlier
report too late.  I believe the patch on bug #696119 will address this
problem (which is not seen on freebsd due to libc differences).

As I'm a newbie at the debian bugtracker I'm not sure how to merge the
two bugs, or even if that's how it's done here.  I hope I'm not doing
ill by repeating my patch here.


Index: zfsutils-9.0/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_pool.c
===================================================================
--- zfsutils-9.0.orig/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_pool.c  
2012-12-16 12:15:18.000000000 -0600
+++ zfsutils-9.0/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_pool.c       
2012-12-16 13:11:34.171723989 -0600
@@ -3087,6 +3087,8 @@
        (void) ioctl(zhp->zpool_hdl->libzfs_fd, ZFS_IOC_VDEV_SETPATH, &zc);
 }
 
+#define        PATH_BUF_LEN    64
+
 /*
  * Given a vdev, return the name to display in iostat.  If the vdev has a path,
  * we use that, stripping off any leading "/dev/dsk/"; if not, we use the type.
@@ -3108,7 +3110,8 @@
 {
        char *path, *devid;
        uint64_t value;
-       char buf[64];
+       char buf[PATH_BUF_LEN];
+       char tmpbuf[PATH_BUF_LEN];
        vdev_stat_t *vs;
        uint_t vsc;
        int have_stats;
@@ -3204,6 +3207,7 @@
                 * If it's a raidz device, we need to stick in the parity level.
                 */
                if (strcmp(path, VDEV_TYPE_RAIDZ) == 0) {
+
                        verify(nvlist_lookup_uint64(nv, ZPOOL_CONFIG_NPARITY,
                            &value) == 0);
                        (void) snprintf(buf, sizeof (buf), "%s%llu", path,
@@ -3220,9 +3224,9 @@
 
                        verify(nvlist_lookup_uint64(nv, ZPOOL_CONFIG_ID,
                            &id) == 0);
-                       (void) snprintf(buf, sizeof (buf), "%s-%llu", path,
-                           (u_longlong_t)id);
-                       path = buf;
+                       (void) snprintf(tmpbuf, sizeof (tmpbuf), "%s-%llu",
+                           path, (u_longlong_t)id);
+                       path = tmpbuf;
                }
        }
 


-- 
To UNSUBSCRIBE, email to debian-bsd-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20121217020004.gb18...@unpythonic.net

Reply via email to