Skip to content

Commit

Permalink
Some nvlist allocations in hold processing need to use KM_PUSHPAGE.
Browse files Browse the repository at this point in the history
This should hopefully catch the rest of the allocations in the
user hold/release processing that were missed by commit
65c67ea.

Signed-off-by: Brian Behlendorf <[email protected]>
Closes openzfs#1852
Closes openzfs#1855
  • Loading branch information
dweeezil authored and unya committed Dec 13, 2013
1 parent 6dec5e3 commit 96f6454
Showing 1 changed file with 3 additions and 2 deletions.
5 changes: 3 additions & 2 deletions module/zfs/dsl_userhold.c
Original file line number Diff line number Diff line change
Expand Up @@ -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);
Expand Down Expand Up @@ -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;

Expand Down

0 comments on commit 96f6454

Please sign in to comment.