Deleted Added
full compact
dsl_pool.c (263390) dsl_pool.c (268650)
1/*
2 * CDDL HEADER START
3 *
4 * The contents of this file are subject to the terms of the
5 * Common Development and Distribution License (the "License").
6 * You may not use this file except in compliance with the License.
7 *
8 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE

--- 264 unchanged lines hidden (view full) ---

273 err = zap_lookup(dp->dp_meta_objset, DMU_POOL_DIRECTORY_OBJECT,
274 DMU_POOL_FREE_BPOBJ, sizeof (uint64_t), 1, &obj);
275 if (err)
276 goto out;
277 VERIFY0(bpobj_open(&dp->dp_free_bpobj,
278 dp->dp_meta_objset, obj));
279 }
280
1/*
2 * CDDL HEADER START
3 *
4 * The contents of this file are subject to the terms of the
5 * Common Development and Distribution License (the "License").
6 * You may not use this file except in compliance with the License.
7 *
8 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE

--- 264 unchanged lines hidden (view full) ---

273 err = zap_lookup(dp->dp_meta_objset, DMU_POOL_DIRECTORY_OBJECT,
274 DMU_POOL_FREE_BPOBJ, sizeof (uint64_t), 1, &obj);
275 if (err)
276 goto out;
277 VERIFY0(bpobj_open(&dp->dp_free_bpobj,
278 dp->dp_meta_objset, obj));
279 }
280
281 /*
282 * Note: errors ignored, because the leak dir will not exist if we
283 * have not encountered a leak yet.
284 */
285 (void) dsl_pool_open_special_dir(dp, LEAK_DIR_NAME,
286 &dp->dp_leak_dir);
287
281 if (spa_feature_is_active(dp->dp_spa, SPA_FEATURE_ASYNC_DESTROY)) {
282 err = zap_lookup(dp->dp_meta_objset, DMU_POOL_DIRECTORY_OBJECT,
283 DMU_POOL_BPTREE_OBJ, sizeof (uint64_t), 1,
284 &dp->dp_bptree_obj);
285 if (err != 0)
286 goto out;
287 }
288

--- 31 unchanged lines hidden (view full) ---

320 * and not a hold, so just drop that here.
321 */
322 if (dp->dp_origin_snap)
323 dsl_dataset_rele(dp->dp_origin_snap, dp);
324 if (dp->dp_mos_dir)
325 dsl_dir_rele(dp->dp_mos_dir, dp);
326 if (dp->dp_free_dir)
327 dsl_dir_rele(dp->dp_free_dir, dp);
288 if (spa_feature_is_active(dp->dp_spa, SPA_FEATURE_ASYNC_DESTROY)) {
289 err = zap_lookup(dp->dp_meta_objset, DMU_POOL_DIRECTORY_OBJECT,
290 DMU_POOL_BPTREE_OBJ, sizeof (uint64_t), 1,
291 &dp->dp_bptree_obj);
292 if (err != 0)
293 goto out;
294 }
295

--- 31 unchanged lines hidden (view full) ---

327 * and not a hold, so just drop that here.
328 */
329 if (dp->dp_origin_snap)
330 dsl_dataset_rele(dp->dp_origin_snap, dp);
331 if (dp->dp_mos_dir)
332 dsl_dir_rele(dp->dp_mos_dir, dp);
333 if (dp->dp_free_dir)
334 dsl_dir_rele(dp->dp_free_dir, dp);
335 if (dp->dp_leak_dir)
336 dsl_dir_rele(dp->dp_leak_dir, dp);
328 if (dp->dp_root_dir)
329 dsl_dir_rele(dp->dp_root_dir, dp);
330
331 bpobj_close(&dp->dp_free_bpobj);
332
333 /* undo the dmu_objset_open_impl(mos) from dsl_pool_open() */
334 if (dp->dp_meta_objset)
335 dmu_objset_evict(dp->dp_meta_objset);

--- 739 unchanged lines hidden ---
337 if (dp->dp_root_dir)
338 dsl_dir_rele(dp->dp_root_dir, dp);
339
340 bpobj_close(&dp->dp_free_bpobj);
341
342 /* undo the dmu_objset_open_impl(mos) from dsl_pool_open() */
343 if (dp->dp_meta_objset)
344 dmu_objset_evict(dp->dp_meta_objset);

--- 739 unchanged lines hidden ---