Fix several new KM_SLEEP warnings
A handful of allocations now occur in the sync path and need
to use KM_PUSHPAGE. These were introduced by commit 13fe019
.
Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
Issue #1746
Issue #1737
This commit is contained in:
parent
cbfa294de4
commit
c5322236ec
@ -489,7 +489,7 @@ void
|
||||
dsl_register_onexit_hold_cleanup(dsl_dataset_t *ds, const char *htag,
|
||||
minor_t minor)
|
||||
{
|
||||
zfs_hold_cleanup_arg_t *ca = kmem_alloc(sizeof (*ca), KM_SLEEP);
|
||||
zfs_hold_cleanup_arg_t *ca = kmem_alloc(sizeof (*ca), KM_PUSHPAGE);
|
||||
spa_t *spa = dsl_dataset_get_spa(ds);
|
||||
(void) strlcpy(ca->zhca_spaname, spa_name(spa),
|
||||
sizeof (ca->zhca_spaname));
|
||||
@ -520,7 +520,7 @@ dsl_dataset_get_holds(const char *dsname, nvlist_t *nvl)
|
||||
zap_attribute_t *za;
|
||||
zap_cursor_t zc;
|
||||
|
||||
za = kmem_alloc(sizeof (zap_attribute_t), KM_SLEEP);
|
||||
za = kmem_alloc(sizeof (zap_attribute_t), KM_PUSHPAGE);
|
||||
for (zap_cursor_init(&zc, ds->ds_dir->dd_pool->dp_meta_objset,
|
||||
ds->ds_phys->ds_userrefs_obj);
|
||||
zap_cursor_retrieve(&zc, za) == 0;
|
||||
|
@ -103,7 +103,7 @@ rrn_add(rrwlock_t *rrl, void *tag)
|
||||
{
|
||||
rrw_node_t *rn;
|
||||
|
||||
rn = kmem_alloc(sizeof (*rn), KM_SLEEP);
|
||||
rn = kmem_alloc(sizeof (*rn), KM_PUSHPAGE);
|
||||
rn->rn_rrl = rrl;
|
||||
rn->rn_next = tsd_get(rrw_tsd_key);
|
||||
rn->rn_tag = tag;
|
||||
|
@ -155,7 +155,7 @@ zfs_onexit_add_cb(minor_t minor, void (*func)(void *), void *data,
|
||||
if (error)
|
||||
return (error);
|
||||
|
||||
ap = kmem_alloc(sizeof (zfs_onexit_action_node_t), KM_SLEEP);
|
||||
ap = kmem_alloc(sizeof (zfs_onexit_action_node_t), KM_PUSHPAGE);
|
||||
list_link_init(&ap->za_link);
|
||||
ap->za_func = func;
|
||||
ap->za_data = data;
|
||||
|
Loading…
Reference in New Issue
Block a user