Lines Matching refs:zd

291 typedef void ztest_func_t(ztest_ds_t *zd, uint64_t id);
1140 ztest_object_lock(ztest_ds_t *zd, uint64_t object, rl_type_t type)
1142 rll_t *rll = &zd->zd_object_lock[object & (ZTEST_OBJECT_LOCKS - 1)];
1148 ztest_object_unlock(ztest_ds_t *zd, uint64_t object)
1150 rll_t *rll = &zd->zd_object_lock[object & (ZTEST_OBJECT_LOCKS - 1)];
1156 ztest_range_lock(ztest_ds_t *zd, uint64_t object, uint64_t offset,
1160 rll_t *rll = &zd->zd_range_lock[hash & (ZTEST_RANGE_LOCKS - 1)];
1185 ztest_zd_init(ztest_ds_t *zd, ztest_shared_ds_t *szd, objset_t *os)
1187 zd->zd_os = os;
1188 zd->zd_zilog = dmu_objset_zil(os);
1189 zd->zd_shared = szd;
1190 dmu_objset_name(os, zd->zd_name);
1192 if (zd->zd_shared != NULL)
1193 zd->zd_shared->zd_seq = 0;
1195 VERIFY(rwlock_init(&zd->zd_zilog_lock, USYNC_THREAD, NULL) == 0);
1196 VERIFY(_mutex_init(&zd->zd_dirobj_lock, USYNC_THREAD, NULL) == 0);
1199 ztest_rll_init(&zd->zd_object_lock[l]);
1202 ztest_rll_init(&zd->zd_range_lock[l]);
1206 ztest_zd_fini(ztest_ds_t *zd)
1208 VERIFY(_mutex_destroy(&zd->zd_dirobj_lock) == 0);
1211 ztest_rll_destroy(&zd->zd_object_lock[l]);
1214 ztest_rll_destroy(&zd->zd_range_lock[l]);
1319 ztest_log_create(ztest_ds_t *zd, dmu_tx_t *tx, lr_create_t *lr)
1325 if (zil_replaying(zd->zd_zilog, tx))
1332 zil_itx_assign(zd->zd_zilog, itx, tx);
1336 ztest_log_remove(ztest_ds_t *zd, dmu_tx_t *tx, lr_remove_t *lr, uint64_t object)
1342 if (zil_replaying(zd->zd_zilog, tx))
1350 zil_itx_assign(zd->zd_zilog, itx, tx);
1354 ztest_log_write(ztest_ds_t *zd, dmu_tx_t *tx, lr_write_t *lr)
1359 if (zil_replaying(zd->zd_zilog, tx))
1369 dmu_read(zd->zd_os, lr->lr_foid, lr->lr_offset, lr->lr_length,
1375 itx->itx_private = zd;
1383 zil_itx_assign(zd->zd_zilog, itx, tx);
1387 ztest_log_truncate(ztest_ds_t *zd, dmu_tx_t *tx, lr_truncate_t *lr)
1391 if (zil_replaying(zd->zd_zilog, tx))
1399 zil_itx_assign(zd->zd_zilog, itx, tx);
1403 ztest_log_setattr(ztest_ds_t *zd, dmu_tx_t *tx, lr_setattr_t *lr)
1407 if (zil_replaying(zd->zd_zilog, tx))
1415 zil_itx_assign(zd->zd_zilog, itx, tx);
1422 ztest_replay_create(ztest_ds_t *zd, lr_create_t *lr, boolean_t byteswap)
1425 objset_t *os = zd->zd_os;
1478 ASSERT(zd->zd_zilog->zl_replay);
1498 (void) ztest_log_create(zd, tx, lr);
1506 ztest_replay_remove(ztest_ds_t *zd, lr_remove_t *lr, boolean_t byteswap)
1509 objset_t *os = zd->zd_os;
1524 ztest_object_lock(zd, object, RL_WRITER);
1535 ztest_object_unlock(zd, object);
1547 (void) ztest_log_remove(zd, tx, lr, object);
1551 ztest_object_unlock(zd, object);
1557 ztest_replay_write(ztest_ds_t *zd, lr_write_t *lr, boolean_t byteswap)
1559 objset_t *os = zd->zd_os;
1592 ztest_object_lock(zd, lr->lr_foid, RL_READER);
1593 rl = ztest_range_lock(zd, lr->lr_foid, offset, length, RL_WRITER);
1619 ztest_object_unlock(zd, lr->lr_foid);
1649 if (zd->zd_zilog->zl_replay) {
1669 (void) ztest_log_write(zd, tx, lr);
1676 ztest_object_unlock(zd, lr->lr_foid);
1682 ztest_replay_truncate(ztest_ds_t *zd, lr_truncate_t *lr, boolean_t byteswap)
1684 objset_t *os = zd->zd_os;
1692 ztest_object_lock(zd, lr->lr_foid, RL_READER);
1693 rl = ztest_range_lock(zd, lr->lr_foid, lr->lr_offset, lr->lr_length,
1703 ztest_object_unlock(zd, lr->lr_foid);
1710 (void) ztest_log_truncate(zd, tx, lr);
1715 ztest_object_unlock(zd, lr->lr_foid);
1721 ztest_replay_setattr(ztest_ds_t *zd, lr_setattr_t *lr, boolean_t byteswap)
1723 objset_t *os = zd->zd_os;
1732 ztest_object_lock(zd, lr->lr_foid, RL_WRITER);
1742 ztest_object_unlock(zd, lr->lr_foid);
1751 if (zd->zd_zilog->zl_replay) {
1782 (void) ztest_log_setattr(zd, tx, lr);
1786 ztest_object_unlock(zd, lr->lr_foid);
1821 ztest_ds_t *zd = zgd->zgd_private;
1828 ztest_object_unlock(zd, object);
1839 ztest_ds_t *zd = arg;
1840 objset_t *os = zd->zd_os;
1852 ztest_object_lock(zd, object, RL_READER);
1855 ztest_object_unlock(zd, object);
1863 ztest_object_unlock(zd, object);
1872 zgd->zgd_zilog = zd->zd_zilog;
1873 zgd->zgd_private = zd;
1876 zgd->zgd_rl = ztest_range_lock(zd, object, offset, size,
1891 zgd->zgd_rl = ztest_range_lock(zd, object, offset, size,
1949 ztest_lookup(ztest_ds_t *zd, ztest_od_t *od, int count)
1954 ASSERT(_mutex_held(&zd->zd_dirobj_lock));
1958 error = zap_lookup(zd->zd_os, od->od_dir, od->od_name,
1972 ztest_object_lock(zd, od->od_object, RL_READER);
1973 VERIFY3U(0, ==, dmu_bonus_hold(zd->zd_os,
1982 ztest_object_unlock(zd, od->od_object);
1990 ztest_create(ztest_ds_t *zd, ztest_od_t *od, int count)
1994 ASSERT(_mutex_held(&zd->zd_dirobj_lock));
2015 if (ztest_replay_create(zd, lr, B_FALSE) != 0) {
2034 ztest_remove(ztest_ds_t *zd, ztest_od_t *od, int count)
2039 ASSERT(_mutex_held(&zd->zd_dirobj_lock));
2059 if ((error = ztest_replay_remove(zd, lr, B_FALSE)) != 0) {
2072 ztest_write(ztest_ds_t *zd, uint64_t object, uint64_t offset, uint64_t size,
2088 error = ztest_replay_write(zd, lr, B_FALSE);
2096 ztest_truncate(ztest_ds_t *zd, uint64_t object, uint64_t offset, uint64_t size)
2107 error = ztest_replay_truncate(zd, lr, B_FALSE);
2115 ztest_setattr(ztest_ds_t *zd, uint64_t object)
2126 error = ztest_replay_setattr(zd, lr, B_FALSE);
2134 ztest_prealloc(ztest_ds_t *zd, uint64_t object, uint64_t offset, uint64_t size)
2136 objset_t *os = zd->zd_os;
2143 ztest_object_lock(zd, object, RL_READER);
2144 rl = ztest_range_lock(zd, object, offset, size, RL_WRITER);
2161 ztest_object_unlock(zd, object);
2165 ztest_io(ztest_ds_t *zd, uint64_t object, uint64_t offset)
2174 VERIFY(dmu_object_info(zd->zd_os, object, &doi) == 0);
2185 (void) rw_rdlock(&zd->zd_zilog_lock);
2190 ztest_bt_generate(&wbt, zd->zd_os, object, offset, 0, 0, 0);
2191 (void) ztest_write(zd, object, offset, sizeof (wbt), &wbt);
2205 (void) ztest_write(zd, object, offset, blocksize, data);
2210 (void) ztest_write(zd, object, offset, blocksize, data);
2214 (void) ztest_truncate(zd, object, offset, blocksize);
2218 (void) ztest_setattr(zd, object);
2223 err = ztest_dsl_prop_set_uint64(zd->zd_name,
2227 err = ztest_dsl_prop_set_uint64(zd->zd_name,
2234 VERIFY0(dmu_read(zd->zd_os, object, offset, blocksize, data,
2237 (void) ztest_write(zd, object, offset, blocksize, data);
2241 (void) rw_unlock(&zd->zd_zilog_lock);
2275 ztest_object_init(ztest_ds_t *zd, ztest_od_t *od, size_t size, boolean_t remove)
2280 VERIFY(mutex_lock(&zd->zd_dirobj_lock) == 0);
2281 if ((ztest_lookup(zd, od, count) != 0 || remove) &&
2282 (ztest_remove(zd, od, count) != 0 ||
2283 ztest_create(zd, od, count) != 0))
2285 zd->zd_od = od;
2286 VERIFY(mutex_unlock(&zd->zd_dirobj_lock) == 0);
2293 ztest_zil_commit(ztest_ds_t *zd, uint64_t id)
2295 zilog_t *zilog = zd->zd_zilog;
2297 (void) rw_rdlock(&zd->zd_zilog_lock);
2302 * Remember the committed values in zd, which is in parent/child
2307 ASSERT(zd->zd_shared != NULL);
2308 ASSERT3U(zd->zd_shared->zd_seq, <=, zilog->zl_commit_lr_seq);
2309 zd->zd_shared->zd_seq = zilog->zl_commit_lr_seq;
2312 (void) rw_unlock(&zd->zd_zilog_lock);
2322 ztest_zil_remount(ztest_ds_t *zd, uint64_t id)
2324 objset_t *os = zd->zd_os;
2331 VERIFY0(mutex_lock(&zd->zd_dirobj_lock));
2332 (void) rw_wrlock(&zd->zd_zilog_lock);
2335 zil_close(zd->zd_zilog);
2338 VERIFY(zil_open(os, ztest_get_data) == zd->zd_zilog);
2339 zil_replay(os, zd, ztest_replay_vector);
2341 (void) rw_unlock(&zd->zd_zilog_lock);
2342 VERIFY(mutex_unlock(&zd->zd_dirobj_lock) == 0);
2351 ztest_spa_create_destroy(ztest_ds_t *zd, uint64_t id)
2390 ztest_spa_upgrade(ztest_ds_t *zd, uint64_t id)
2501 ztest_vdev_add_remove(ztest_ds_t *zd, uint64_t id)
2570 ztest_vdev_aux_add_remove(ztest_ds_t *zd, uint64_t id)
2653 ztest_split_pool(ztest_ds_t *zd, uint64_t id)
2749 ztest_vdev_attach_detach(ztest_ds_t *zd, uint64_t id)
3042 ztest_vdev_LUN_growth(ztest_ds_t *zd, uint64_t id)
3272 ztest_dmu_objset_create_destroy(ztest_ds_t *zd, uint64_t id)
3375 ztest_dmu_snapshot_create_destroy(ztest_ds_t *zd, uint64_t id)
3378 (void) ztest_snapshot_destroy(zd->zd_name, id);
3379 (void) ztest_snapshot_create(zd->zd_name, id);
3428 ztest_dsl_dataset_promote_busy(ztest_ds_t *zd, uint64_t id)
3436 char *osname = zd->zd_name;
3523 ztest_dmu_object_alloc_free(ztest_ds_t *zd, uint64_t id)
3535 if (ztest_object_init(zd, od, sizeof (od), B_TRUE) != 0)
3539 ztest_io(zd, od[ztest_random(batchsize)].od_object,
3547 ztest_dmu_read_write(ztest_ds_t *zd, uint64_t id)
3549 objset_t *os = zd->zd_os;
3592 if (ztest_object_init(zd, od, sizeof (od), B_FALSE) != 0)
3821 ztest_dmu_read_write_zcopy(ztest_ds_t *zd, uint64_t id)
3823 objset_t *os = zd->zd_os;
3862 if (ztest_object_init(zd, od, sizeof (od), B_FALSE) != 0)
4050 ztest_dmu_write_parallel(ztest_ds_t *zd, uint64_t id)
4063 if (ztest_object_init(zd, od, sizeof (od), B_FALSE) != 0)
4067 ztest_io(zd, od[0].od_object, offset);
4071 ztest_dmu_prealloc(ztest_ds_t *zd, uint64_t id)
4082 if (ztest_object_init(zd, od, sizeof (od), !ztest_random(2)) != 0)
4085 if (ztest_truncate(zd, od[0].od_object, offset, count * blocksize) != 0)
4088 ztest_prealloc(zd, od[0].od_object, offset, count * blocksize);
4094 if (ztest_write(zd, od[0].od_object, randoff, blocksize,
4098 ztest_io(zd, od[0].od_object, randoff);
4112 ztest_zap(ztest_ds_t *zd, uint64_t id)
4114 objset_t *os = zd->zd_os;
4128 if (ztest_object_init(zd, od, sizeof (od), !ztest_random(2)) != 0)
4252 ztest_fzap(ztest_ds_t *zd, uint64_t id)
4254 objset_t *os = zd->zd_os;
4260 if (ztest_object_init(zd, od, sizeof (od), !ztest_random(2)) != 0)
4293 ztest_zap_parallel(ztest_ds_t *zd, uint64_t id)
4295 objset_t *os = zd->zd_os;
4306 if (ztest_object_init(zd, od, sizeof (od), B_FALSE) != 0)
4483 ztest_dmu_commit_callbacks(ztest_ds_t *zd, uint64_t id)
4485 objset_t *os = zd->zd_os;
4494 if (ztest_object_init(zd, od, sizeof (od), B_FALSE) != 0)
4608 ztest_dsl_prop_get_set(ztest_ds_t *zd, uint64_t id)
4620 (void) ztest_dsl_prop_set_uint64(zd->zd_name, proplist[p],
4628 ztest_spa_prop_get_set(ztest_ds_t *zd, uint64_t id)
4667 ztest_dmu_snapshot_hold(ztest_ds_t *zd, uint64_t id)
4670 objset_t *os = zd->zd_os;
4792 ztest_fault_inject(ztest_ds_t *zd, uint64_t id)
5044 ztest_ddt_repair(ztest_ds_t *zd, uint64_t id)
5048 objset_t *os = zd->zd_os;
5063 if (ztest_object_init(zd, od, sizeof (od), B_FALSE) != 0)
5072 if (ztest_dsl_prop_set_uint64(zd->zd_name, ZFS_PROP_DEDUP, checksum,
5074 ztest_dsl_prop_set_uint64(zd->zd_name, ZFS_PROP_COPIES, 1,
5151 ztest_scrub(ztest_ds_t *zd, uint64_t id)
5165 ztest_reguid(ztest_ds_t *zd, uint64_t id)
5195 ztest_spa_rename(ztest_ds_t *zd, uint64_t id)
5464 ztest_ds_t *zd = &ztest_ds[id % ztest_opts.zo_datasets];
5469 zi->zi_func(zd, id);
5557 ztest_dataset_dirobj_verify(ztest_ds_t *zd)
5572 VERIFY3U(0, ==, zap_count(zd->zd_os, ZTEST_DIROBJ, &dirobjs));
5573 dmu_objset_space(zd->zd_os, &scratch, &scratch, &usedobjs, &scratch);
5580 ztest_ds_t *zd = &ztest_ds[d];
5599 VERIFY0(dmu_objset_own(name, DMU_OST_OTHER, B_FALSE, zd, &os));
5602 ztest_zd_init(zd, ZTEST_GET_SHARED_DS(d), os);
5604 zilog = zd->zd_zilog;
5611 ztest_dataset_dirobj_verify(zd);
5613 zil_replay(os, zd, ztest_replay_vector);
5615 ztest_dataset_dirobj_verify(zd);
5619 zd->zd_name,
5637 ztest_ds_t *zd = &ztest_ds[d];
5639 zil_close(zd->zd_zilog);
5640 dmu_objset_disown(zd->zd_os, zd);
5642 ztest_zd_fini(zd);
5831 ztest_ds_t *zd = &ztest_ds[0];
5849 while (BP_IS_HOLE(&zd->zd_zilog->zl_header->zh_log)) {
5850 ztest_dmu_object_alloc_free(zd, 0);
5851 zil_commit(zd->zd_zilog, 0);
5884 VERIFY0(ztest_object_init(zd, &od, sizeof (od), B_FALSE));
5885 ztest_io(zd, od.od_object,
5893 zil_commit(zd->zd_zilog, 0);