Allocate the ioctl "output" nvlist with KM_PUSHPAGE.

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
This commit is contained in:
Tim Chase 2013-09-20 09:30:04 -05:00 committed by Brian Behlendorf
parent c5322236ec
commit 8769db3966

View 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); error = vec->zvec_func(zc->zc_name, innvl, outnvl);
if (error == 0 && vec->zvec_allow_log && if (error == 0 && vec->zvec_allow_log &&