From f707635fa5a0a687f243a9b0976d7296955744d9 Mon Sep 17 00:00:00 2001 From: Tim Chase Date: Wed, 20 Nov 2013 07:56:56 -0600 Subject: [PATCH] Some nvlist allocations in hold processing need to use KM_PUSHPAGE. This should hopefully catch the rest of the allocations in the user hold/release processing that were missed by commit 65c67ea86e9f112177f1ad32de8e780f10798a64. Signed-off-by: Brian Behlendorf Closes #1852 Closes #1855 --- module/zfs/dsl_userhold.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/module/zfs/dsl_userhold.c b/module/zfs/dsl_userhold.c index 97775b591..e24ed6444 100644 --- a/module/zfs/dsl_userhold.c +++ b/module/zfs/dsl_userhold.c @@ -260,7 +260,7 @@ dsl_dataset_user_hold_sync(void *arg, dmu_tx_t *tx) uint64_t now = gethrestime_sec(); if (dduha->dduha_minor != 0) - tmpholds = fnvlist_alloc(); + VERIFY0(nvlist_alloc(&tmpholds, NV_UNIQUE_NAME, KM_PUSHPAGE)); else tmpholds = NULL; for (pair = nvlist_next_nvpair(dduha->dduha_chkholds, NULL); @@ -315,7 +315,8 @@ dsl_dataset_user_hold(nvlist_t *holds, minor_t cleanup_minor, nvlist_t *errlist) return (0); dduha.dduha_holds = holds; - dduha.dduha_chkholds = fnvlist_alloc(); + VERIFY0(nvlist_alloc(&dduha.dduha_chkholds, NV_UNIQUE_NAME, + KM_PUSHPAGE)); dduha.dduha_errlist = errlist; dduha.dduha_minor = cleanup_minor;