diff options
Diffstat (limited to 'module')
-rw-r--r-- | module/zfs/bpobj.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/module/zfs/bpobj.c b/module/zfs/bpobj.c index 7c8f932f5..25767e83f 100644 --- a/module/zfs/bpobj.c +++ b/module/zfs/bpobj.c @@ -301,8 +301,10 @@ bpobj_iterate_impl(bpobj_t *bpo, bpobj_itor_t func, void *arg, dmu_tx_t *tx, if (free) { err = bpobj_space(&sublist, &used_before, &comp_before, &uncomp_before); - if (err) + if (err != 0) { + bpobj_close(&sublist); break; + } } err = bpobj_iterate_impl(&sublist, func, arg, tx, free); if (free) { |