]> granicus.if.org Git - zfs/commitdiff
Increase buffer size for nvlist for large configurations
authorBrian Behlendorf <behlendorf1@llnl.gov>
Fri, 24 Jul 2009 15:53:18 +0000 (08:53 -0700)
committerBrian Behlendorf <behlendorf1@llnl.gov>
Fri, 24 Jul 2009 15:53:18 +0000 (08:53 -0700)
It's still not clear to me why the default value here is large
enough Solaris.  I hit this limit again when setting up 120 SATA
drives configured as 15 raidz2 groups each containing 8 drives.
We expect to go bigger so we may just want to spend a little
time and figure out how to make this all dynamic.

lib/libzfs/libzfs_config.c
lib/libzfs/libzfs_util.c

index 781153225849c2afd25a4f98b7b15e94f492b267..94640d1b128cfe0c6bf7dc1276218ff89d9993e0 100644 (file)
@@ -123,7 +123,7 @@ namespace_reload(libzfs_handle_t *hdl)
                        return (no_memory(hdl));
        }
 
-       if (zcmd_alloc_dst_nvlist(hdl, &zc, 32768) != 0)
+       if (zcmd_alloc_dst_nvlist(hdl, &zc, 0) != 0)
                return (-1);
 
        for (;;) {
index 30829d50ded7b631e2b12e952688f564db8da966..72714541f69a779dbe648336364a4462eb935ad9 100644 (file)
@@ -681,7 +681,7 @@ int
 zcmd_alloc_dst_nvlist(libzfs_handle_t *hdl, zfs_cmd_t *zc, size_t len)
 {
        if (len == 0)
-               len = 2048;
+               len = 128*1024;
        zc->zc_nvlist_dst_size = len;
        if ((zc->zc_nvlist_dst = (uint64_t)(uintptr_t)
            zfs_alloc(hdl, zc->zc_nvlist_dst_size)) == NULL)