X-Git-Url: https://git.camperquake.de/gitweb.cgi?a=blobdiff_plain;f=module%2Fzfs%2Fspace_map.c;fp=module%2Fzfs%2Fspace_map.c;h=9c0cdb6beeccd947c47773d043a311dd6081b8bc;hb=b8d06fca089fae4680c3a552fc55c512bfb02202;hp=1ce7b2a3d46601704387edb2d6144b3b0d74ae90;hpb=991fc1d7ae2589c01a939a9cbd0e866c90fdd03b;p=zfs.git diff --git a/module/zfs/space_map.c b/module/zfs/space_map.c index 1ce7b2a..9c0cdb6 100644 --- a/module/zfs/space_map.c +++ b/module/zfs/space_map.c @@ -134,7 +134,7 @@ space_map_add(space_map_t *sm, uint64_t start, uint64_t size) avl_remove(sm->sm_pp_root, ss_after); ss = ss_after; } else { - ss = kmem_alloc(sizeof (*ss), KM_SLEEP); + ss = kmem_alloc(sizeof (*ss), KM_PUSHPAGE); ss->ss_start = start; ss->ss_end = end; avl_insert(&sm->sm_root, ss, where); @@ -181,7 +181,7 @@ space_map_remove(space_map_t *sm, uint64_t start, uint64_t size) avl_remove(sm->sm_pp_root, ss); if (left_over && right_over) { - newseg = kmem_alloc(sizeof (*newseg), KM_SLEEP); + newseg = kmem_alloc(sizeof (*newseg), KM_PUSHPAGE); newseg->ss_start = end; newseg->ss_end = ss->ss_end; ss->ss_end = start; @@ -551,7 +551,7 @@ space_map_ref_add_node(avl_tree_t *t, uint64_t offset, int64_t refcnt) { space_ref_t *sr; - sr = kmem_alloc(sizeof (*sr), KM_SLEEP); + sr = kmem_alloc(sizeof (*sr), KM_PUSHPAGE); sr->sr_offset = offset; sr->sr_refcnt = refcnt;