Lines Matching defs:zd

292 typedef void ztest_func_t(ztest_ds_t *zd, uint64_t id);
1136 ztest_object_lock(ztest_ds_t *zd, uint64_t object, rl_type_t type)
1138 rll_t *rll = &zd->zd_object_lock[object & (ZTEST_OBJECT_LOCKS - 1)];
1144 ztest_object_unlock(ztest_ds_t *zd, uint64_t object)
1146 rll_t *rll = &zd->zd_object_lock[object & (ZTEST_OBJECT_LOCKS - 1)];
1152 ztest_range_lock(ztest_ds_t *zd, uint64_t object, uint64_t offset,
1156 rll_t *rll = &zd->zd_range_lock[hash & (ZTEST_RANGE_LOCKS - 1)];
1181 ztest_zd_init(ztest_ds_t *zd, ztest_shared_ds_t *szd, objset_t *os)
1183 zd->zd_os = os;
1184 zd->zd_zilog = dmu_objset_zil(os);
1185 zd->zd_shared = szd;
1186 dmu_objset_name(os, zd->zd_name);
1188 if (zd->zd_shared != NULL)
1189 zd->zd_shared->zd_seq = 0;
1191 VERIFY(rwlock_init(&zd->zd_zilog_lock, USYNC_THREAD, NULL) == 0);
1192 VERIFY(_mutex_init(&zd->zd_dirobj_lock, USYNC_THREAD, NULL) == 0);
1195 ztest_rll_init(&zd->zd_object_lock[l]);
1198 ztest_rll_init(&zd->zd_range_lock[l]);
1202 ztest_zd_fini(ztest_ds_t *zd)
1204 VERIFY(_mutex_destroy(&zd->zd_dirobj_lock) == 0);
1207 ztest_rll_destroy(&zd->zd_object_lock[l]);
1210 ztest_rll_destroy(&zd->zd_range_lock[l]);
1315 ztest_log_create(ztest_ds_t *zd, dmu_tx_t *tx, lr_create_t *lr)
1321 if (zil_replaying(zd->zd_zilog, tx))
1328 zil_itx_assign(zd->zd_zilog, itx, tx);
1332 ztest_log_remove(ztest_ds_t *zd, dmu_tx_t *tx, lr_remove_t *lr, uint64_t object)
1338 if (zil_replaying(zd->zd_zilog, tx))
1346 zil_itx_assign(zd->zd_zilog, itx, tx);
1350 ztest_log_write(ztest_ds_t *zd, dmu_tx_t *tx, lr_write_t *lr)
1355 if (zil_replaying(zd->zd_zilog, tx))
1365 dmu_read(zd->zd_os, lr->lr_foid, lr->lr_offset, lr->lr_length,
1371 itx->itx_private = zd;
1379 zil_itx_assign(zd->zd_zilog, itx, tx);
1383 ztest_log_truncate(ztest_ds_t *zd, dmu_tx_t *tx, lr_truncate_t *lr)
1387 if (zil_replaying(zd->zd_zilog, tx))
1395 zil_itx_assign(zd->zd_zilog, itx, tx);
1399 ztest_log_setattr(ztest_ds_t *zd, dmu_tx_t *tx, lr_setattr_t *lr)
1403 if (zil_replaying(zd->zd_zilog, tx))
1411 zil_itx_assign(zd->zd_zilog, itx, tx);
1418 ztest_replay_create(ztest_ds_t *zd, lr_create_t *lr, boolean_t byteswap)
1421 objset_t *os = zd->zd_os;
1474 ASSERT(zd->zd_zilog->zl_replay);
1494 (void) ztest_log_create(zd, tx, lr);
1502 ztest_replay_remove(ztest_ds_t *zd, lr_remove_t *lr, boolean_t byteswap)
1505 objset_t *os = zd->zd_os;
1520 ztest_object_lock(zd, object, RL_WRITER);
1531 ztest_object_unlock(zd, object);
1543 (void) ztest_log_remove(zd, tx, lr, object);
1547 ztest_object_unlock(zd, object);
1553 ztest_replay_write(ztest_ds_t *zd, lr_write_t *lr, boolean_t byteswap)
1555 objset_t *os = zd->zd_os;
1588 ztest_object_lock(zd, lr->lr_foid, RL_READER);
1589 rl = ztest_range_lock(zd, lr->lr_foid, offset, length, RL_WRITER);
1615 ztest_object_unlock(zd, lr->lr_foid);
1645 if (zd->zd_zilog->zl_replay) {
1665 (void) ztest_log_write(zd, tx, lr);
1672 ztest_object_unlock(zd, lr->lr_foid);
1678 ztest_replay_truncate(ztest_ds_t *zd, lr_truncate_t *lr, boolean_t byteswap)
1680 objset_t *os = zd->zd_os;
1688 ztest_object_lock(zd, lr->lr_foid, RL_READER);
1689 rl = ztest_range_lock(zd, lr->lr_foid, lr->lr_offset, lr->lr_length,
1699 ztest_object_unlock(zd, lr->lr_foid);
1706 (void) ztest_log_truncate(zd, tx, lr);
1711 ztest_object_unlock(zd, lr->lr_foid);
1717 ztest_replay_setattr(ztest_ds_t *zd, lr_setattr_t *lr, boolean_t byteswap)
1719 objset_t *os = zd->zd_os;
1728 ztest_object_lock(zd, lr->lr_foid, RL_WRITER);
1738 ztest_object_unlock(zd, lr->lr_foid);
1747 if (zd->zd_zilog->zl_replay) {
1778 (void) ztest_log_setattr(zd, tx, lr);
1782 ztest_object_unlock(zd, lr->lr_foid);
1817 ztest_ds_t *zd = zgd->zgd_private;
1824 ztest_object_unlock(zd, object);
1835 ztest_ds_t *zd = arg;
1836 objset_t *os = zd->zd_os;
1848 ztest_object_lock(zd, object, RL_READER);
1851 ztest_object_unlock(zd, object);
1859 ztest_object_unlock(zd, object);
1868 zgd->zgd_zilog = zd->zd_zilog;
1869 zgd->zgd_private = zd;
1872 zgd->zgd_rl = ztest_range_lock(zd, object, offset, size,
1887 zgd->zgd_rl = ztest_range_lock(zd, object, offset, size,
1945 ztest_lookup(ztest_ds_t *zd, ztest_od_t *od, int count)
1950 ASSERT(_mutex_held(&zd->zd_dirobj_lock));
1954 error = zap_lookup(zd->zd_os, od->od_dir, od->od_name,
1968 ztest_object_lock(zd, od->od_object, RL_READER);
1969 VERIFY3U(0, ==, dmu_bonus_hold(zd->zd_os,
1978 ztest_object_unlock(zd, od->od_object);
1986 ztest_create(ztest_ds_t *zd, ztest_od_t *od, int count)
1990 ASSERT(_mutex_held(&zd->zd_dirobj_lock));
2011 if (ztest_replay_create(zd, lr, B_FALSE) != 0) {
2030 ztest_remove(ztest_ds_t *zd, ztest_od_t *od, int count)
2035 ASSERT(_mutex_held(&zd->zd_dirobj_lock));
2055 if ((error = ztest_replay_remove(zd, lr, B_FALSE)) != 0) {
2068 ztest_write(ztest_ds_t *zd, uint64_t object, uint64_t offset, uint64_t size,
2084 error = ztest_replay_write(zd, lr, B_FALSE);
2092 ztest_truncate(ztest_ds_t *zd, uint64_t object, uint64_t offset, uint64_t size)
2103 error = ztest_replay_truncate(zd, lr, B_FALSE);
2111 ztest_setattr(ztest_ds_t *zd, uint64_t object)
2122 error = ztest_replay_setattr(zd, lr, B_FALSE);
2130 ztest_prealloc(ztest_ds_t *zd, uint64_t object, uint64_t offset, uint64_t size)
2132 objset_t *os = zd->zd_os;
2139 ztest_object_lock(zd, object, RL_READER);
2140 rl = ztest_range_lock(zd, object, offset, size, RL_WRITER);
2157 ztest_object_unlock(zd, object);
2161 ztest_io(ztest_ds_t *zd, uint64_t object, uint64_t offset)
2170 VERIFY(dmu_object_info(zd->zd_os, object, &doi) == 0);
2181 (void) rw_rdlock(&zd->zd_zilog_lock);
2186 ztest_bt_generate(&wbt, zd->zd_os, object, offset, 0, 0, 0);
2187 (void) ztest_write(zd, object, offset, sizeof (wbt), &wbt);
2201 (void) ztest_write(zd, object, offset, blocksize, data);
2206 (void) ztest_write(zd, object, offset, blocksize, data);
2210 (void) ztest_truncate(zd, object, offset, blocksize);
2214 (void) ztest_setattr(zd, object);
2219 err = ztest_dsl_prop_set_uint64(zd->zd_name,
2223 err = ztest_dsl_prop_set_uint64(zd->zd_name,
2230 VERIFY0(dmu_read(zd->zd_os, object, offset, blocksize, data,
2233 (void) ztest_write(zd, object, offset, blocksize, data);
2237 (void) rw_unlock(&zd->zd_zilog_lock);
2271 ztest_object_init(ztest_ds_t *zd, ztest_od_t *od, size_t size, boolean_t remove)
2276 VERIFY(mutex_lock(&zd->zd_dirobj_lock) == 0);
2277 if ((ztest_lookup(zd, od, count) != 0 || remove) &&
2278 (ztest_remove(zd, od, count) != 0 ||
2279 ztest_create(zd, od, count) != 0))
2281 zd->zd_od = od;
2282 VERIFY(mutex_unlock(&zd->zd_dirobj_lock) == 0);
2289 ztest_zil_commit(ztest_ds_t *zd, uint64_t id)
2291 zilog_t *zilog = zd->zd_zilog;
2293 (void) rw_rdlock(&zd->zd_zilog_lock);
2298 * Remember the committed values in zd, which is in parent/child
2303 ASSERT(zd->zd_shared != NULL);
2304 ASSERT3U(zd->zd_shared->zd_seq, <=, zilog->zl_commit_lr_seq);
2305 zd->zd_shared->zd_seq = zilog->zl_commit_lr_seq;
2308 (void) rw_unlock(&zd->zd_zilog_lock);
2318 ztest_zil_remount(ztest_ds_t *zd, uint64_t id)
2320 objset_t *os = zd->zd_os;
2327 VERIFY0(mutex_lock(&zd->zd_dirobj_lock));
2328 (void) rw_wrlock(&zd->zd_zilog_lock);
2331 zil_close(zd->zd_zilog);
2334 VERIFY(zil_open(os, ztest_get_data) == zd->zd_zilog);
2335 zil_replay(os, zd, ztest_replay_vector);
2337 (void) rw_unlock(&zd->zd_zilog_lock);
2338 VERIFY(mutex_unlock(&zd->zd_dirobj_lock) == 0);
2347 ztest_spa_create_destroy(ztest_ds_t *zd, uint64_t id)
2386 ztest_spa_upgrade(ztest_ds_t *zd, uint64_t id)
2497 ztest_vdev_add_remove(ztest_ds_t *zd, uint64_t id)
2566 ztest_vdev_aux_add_remove(ztest_ds_t *zd, uint64_t id)
2649 ztest_split_pool(ztest_ds_t *zd, uint64_t id)
2745 ztest_vdev_attach_detach(ztest_ds_t *zd, uint64_t id)
3038 ztest_vdev_LUN_growth(ztest_ds_t *zd, uint64_t id)
3265 ztest_dmu_objset_create_destroy(ztest_ds_t *zd, uint64_t id)
3368 ztest_dmu_snapshot_create_destroy(ztest_ds_t *zd, uint64_t id)
3371 (void) ztest_snapshot_destroy(zd->zd_name, id);
3372 (void) ztest_snapshot_create(zd->zd_name, id);
3421 ztest_dsl_dataset_promote_busy(ztest_ds_t *zd, uint64_t id)
3429 char *osname = zd->zd_name;
3516 ztest_dmu_object_alloc_free(ztest_ds_t *zd, uint64_t id)
3528 if (ztest_object_init(zd, od, sizeof (od), B_TRUE) != 0)
3532 ztest_io(zd, od[ztest_random(batchsize)].od_object,
3540 ztest_dmu_read_write(ztest_ds_t *zd, uint64_t id)
3542 objset_t *os = zd->zd_os;
3585 if (ztest_object_init(zd, od, sizeof (od), B_FALSE) != 0)
3814 ztest_dmu_read_write_zcopy(ztest_ds_t *zd, uint64_t id)
3816 objset_t *os = zd->zd_os;
3855 if (ztest_object_init(zd, od, sizeof (od), B_FALSE) != 0)
4043 ztest_dmu_write_parallel(ztest_ds_t *zd, uint64_t id)
4056 if (ztest_object_init(zd, od, sizeof (od), B_FALSE) != 0)
4060 ztest_io(zd, od[0].od_object, offset);
4064 ztest_dmu_prealloc(ztest_ds_t *zd, uint64_t id)
4075 if (ztest_object_init(zd, od, sizeof (od), !ztest_random(2)) != 0)
4078 if (ztest_truncate(zd, od[0].od_object, offset, count * blocksize) != 0)
4081 ztest_prealloc(zd, od[0].od_object, offset, count * blocksize);
4087 if (ztest_write(zd, od[0].od_object, randoff, blocksize,
4091 ztest_io(zd, od[0].od_object, randoff);
4105 ztest_zap(ztest_ds_t *zd, uint64_t id)
4107 objset_t *os = zd->zd_os;
4121 if (ztest_object_init(zd, od, sizeof (od), !ztest_random(2)) != 0)
4245 ztest_fzap(ztest_ds_t *zd, uint64_t id)
4247 objset_t *os = zd->zd_os;
4253 if (ztest_object_init(zd, od, sizeof (od), !ztest_random(2)) != 0)
4286 ztest_zap_parallel(ztest_ds_t *zd, uint64_t id)
4288 objset_t *os = zd->zd_os;
4299 if (ztest_object_init(zd, od, sizeof (od), B_FALSE) != 0)
4476 ztest_dmu_commit_callbacks(ztest_ds_t *zd, uint64_t id)
4478 objset_t *os = zd->zd_os;
4487 if (ztest_object_init(zd, od, sizeof (od), B_FALSE) != 0)
4601 ztest_dsl_prop_get_set(ztest_ds_t *zd, uint64_t id)
4613 (void) ztest_dsl_prop_set_uint64(zd->zd_name, proplist[p],
4621 ztest_spa_prop_get_set(ztest_ds_t *zd, uint64_t id)
4660 ztest_dmu_snapshot_hold(ztest_ds_t *zd, uint64_t id)
4663 objset_t *os = zd->zd_os;
4785 ztest_fault_inject(ztest_ds_t *zd, uint64_t id)
5015 ztest_ddt_repair(ztest_ds_t *zd, uint64_t id)
5019 objset_t *os = zd->zd_os;
5034 if (ztest_object_init(zd, od, sizeof (od), B_FALSE) != 0)
5043 if (ztest_dsl_prop_set_uint64(zd->zd_name, ZFS_PROP_DEDUP, checksum,
5045 ztest_dsl_prop_set_uint64(zd->zd_name, ZFS_PROP_COPIES, 1,
5117 ztest_scrub(ztest_ds_t *zd, uint64_t id)
5131 ztest_reguid(ztest_ds_t *zd, uint64_t id)
5161 ztest_spa_rename(ztest_ds_t *zd, uint64_t id)
5424 ztest_ds_t *zd = &ztest_ds[id % ztest_opts.zo_datasets];
5429 zi->zi_func(zd, id);
5517 ztest_dataset_dirobj_verify(ztest_ds_t *zd)
5532 VERIFY3U(0, ==, zap_count(zd->zd_os, ZTEST_DIROBJ, &dirobjs));
5533 dmu_objset_space(zd->zd_os, &scratch, &scratch, &usedobjs, &scratch);
5540 ztest_ds_t *zd = &ztest_ds[d];
5559 VERIFY0(dmu_objset_own(name, DMU_OST_OTHER, B_FALSE, zd, &os));
5562 ztest_zd_init(zd, ZTEST_GET_SHARED_DS(d), os);
5564 zilog = zd->zd_zilog;
5571 ztest_dataset_dirobj_verify(zd);
5573 zil_replay(os, zd, ztest_replay_vector);
5575 ztest_dataset_dirobj_verify(zd);
5579 zd->zd_name,
5597 ztest_ds_t *zd = &ztest_ds[d];
5599 zil_close(zd->zd_zilog);
5600 dmu_objset_disown(zd->zd_os, zd);
5602 ztest_zd_fini(zd);
5787 ztest_ds_t *zd = &ztest_ds[0];
5805 while (BP_IS_HOLE(&zd->zd_zilog->zl_header->zh_log)) {
5806 ztest_dmu_object_alloc_free(zd, 0);
5807 zil_commit(zd->zd_zilog, 0);
5840 VERIFY0(ztest_object_init(zd, &od, sizeof (od), B_FALSE));
5841 ztest_io(zd, od.od_object,
5849 zil_commit(zd->zd_zilog, 0);