diff --git a/module/zfs/dsl_dataset.c b/module/zfs/dsl_dataset.c index 7c8995eba..9ee9508bf 100644 --- a/module/zfs/dsl_dataset.c +++ b/module/zfs/dsl_dataset.c @@ -2196,7 +2196,7 @@ snaplist_make(dsl_pool_t *dp, if (first_obj == 0) first_obj = ds->ds_dir->dd_phys->dd_origin_obj; - snap = kmem_alloc(sizeof (*snap), KM_SLEEP); + snap = kmem_alloc(sizeof (*snap), KM_PUSHPAGE); snap->ds = ds; list_insert_tail(l, snap); obj = ds->ds_phys->ds_prev_snap_obj; diff --git a/module/zfs/dsl_userhold.c b/module/zfs/dsl_userhold.c index db9540d13..6f0470477 100644 --- a/module/zfs/dsl_userhold.c +++ b/module/zfs/dsl_userhold.c @@ -225,7 +225,7 @@ dsl_onexit_hold_cleanup(spa_t *spa, nvlist_t *holds, minor_t minor) } ASSERT(spa != NULL); - ca = kmem_alloc(sizeof (*ca), KM_SLEEP); + ca = kmem_alloc(sizeof (*ca), KM_PUSHPAGE); (void) strlcpy(ca->zhca_spaname, spa_name(spa), sizeof (ca->zhca_spaname));