]> granicus.if.org Git - zfs/commitdiff
Allocate the ioctl "output" nvlist with KM_PUSHPAGE.
authorTim Chase <tim@onlight.com>
Fri, 20 Sep 2013 14:30:04 +0000 (09:30 -0500)
committerBrian Behlendorf <behlendorf1@llnl.gov>
Wed, 25 Sep 2013 22:44:22 +0000 (15:44 -0700)
Some ZFS errors such as certain snapshot failures can occur in
the sync task context.  Because they may require additional memory
allocations, the initial nvlist must be allocated with KM_PUSHPAGE.

Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
Issue #1746
Issue #1737

module/zfs/zfs_ioctl.c

index acc54e5a7830d488148373540370edb3833d1def..be782ba80298f514f9fabc71f6a3ac97e0f70341 100644 (file)
@@ -5660,7 +5660,7 @@ zfsdev_ioctl(struct file *filp, unsigned cmd, unsigned long arg)
                        }
                }
 
-               outnvl = fnvlist_alloc();
+               VERIFY0(nvlist_alloc(&outnvl, NV_UNIQUE_NAME, KM_PUSHPAGE));
                error = vec->zvec_func(zc->zc_name, innvl, outnvl);
 
                if (error == 0 && vec->zvec_allow_log &&