dsl_dataset
struct dsl_dataset *ds = os->os_dsl_dataset;
extern struct dsl_dataset *dmu_objset_ds(objset_t *os);
int dmu_objset_open_ds(struct dsl_dataset *ds, objset_t **osp);
struct dsl_dataset;
void dmu_objset_refresh_ownership(struct dsl_dataset *ds,
struct dsl_dataset **newds, boolean_t key_needed, void *tag);
int dmu_objset_from_ds(struct dsl_dataset *ds, objset_t **osp);
int func(struct dsl_pool *, struct dsl_dataset *, void *),
objset_t *dmu_objset_create_impl_dnstats(spa_t *spa, struct dsl_dataset *ds,
objset_t *dmu_objset_create_impl(spa_t *spa, struct dsl_dataset *ds,
int dmu_objset_open_impl(spa_t *spa, struct dsl_dataset *ds, blkptr_t *bp,
struct dsl_dataset;
struct dsl_dataset *os_dsl_dataset;
struct dsl_dataset *drc_ds;
struct dsl_dataset;
int dmu_send_estimate(struct dsl_dataset *ds, struct dsl_dataset *fromds,
int dmu_send_estimate_from_txg(struct dsl_dataset *ds, uint64_t fromtxg,
struct dsl_dataset;
int traverse_dataset(struct dsl_dataset *ds,
int traverse_dataset_resume(struct dsl_dataset *ds, uint64_t txg_start,
struct dsl_dataset;
struct dsl_dataset *, zfs_bookmark_phys_t *);
void dsl_dataset_crypt_stats(struct dsl_dataset *ds, nvlist_t *nv);
int spa_keystore_create_mapping(spa_t *spa, struct dsl_dataset *ds, void *tag,
int dsl_crypto_populate_key_nvlist(struct dsl_dataset *ds,
int dsl_crypto_recv_raw_key_check(struct dsl_dataset *ds,
void dsl_crypto_recv_raw_key_sync(struct dsl_dataset *ds,
struct dsl_dataset *origin, dsl_crypto_params_t *dcp, dmu_tx_t *tx);
struct dsl_dataset *ds_prev;
struct dsl_dataset;
struct dsl_dataset;
int dsl_deleg_access_impl(struct dsl_dataset *ds, const char *perm, cred_t *cr);
struct dsl_dataset;
int dsl_destroy_head_check_impl(struct dsl_dataset *, int);
void dsl_destroy_head_sync_impl(struct dsl_dataset *, struct dmu_tx *);
int dsl_destroy_snapshot_check_impl(struct dsl_dataset *, boolean_t);
void dsl_destroy_snapshot_sync_impl(struct dsl_dataset *,
void dsl_dir_new_refreservation(dsl_dir_t *dd, struct dsl_dataset *ds,
struct dsl_dataset;
struct dsl_dataset;
struct dsl_dataset *dp_origin_snap;
struct dsl_dataset;
struct dsl_dataset *cbr_ds;
int dsl_prop_register(struct dsl_dataset *ds, const char *propname,
void dsl_prop_unregister_all(struct dsl_dataset *ds, void *cbarg);
boolean_t dsl_prop_hascb(struct dsl_dataset *ds);
int dsl_prop_get_ds(struct dsl_dataset *ds, const char *propname,
int dsl_prop_get_int_ds(struct dsl_dataset *ds, const char *propname,
void dsl_props_set_sync_impl(struct dsl_dataset *ds, zprop_source_t source,
void dsl_prop_set_sync_impl(struct dsl_dataset *ds, const char *propname,
boolean_t dsl_dataset_unstable(struct dsl_dataset *ds);
void dsl_scan_ds_destroyed(struct dsl_dataset *ds, struct dmu_tx *tx);
void dsl_scan_ds_snapshotted(struct dsl_dataset *ds, struct dmu_tx *tx);
void dsl_scan_ds_clone_swapped(struct dsl_dataset *ds1, struct dsl_dataset *ds2,
struct dsl_dataset;
struct dsl_dataset;
int dsl_dataset_user_hold_check_one(struct dsl_dataset *ds, const char *htag,
void dsl_dataset_user_hold_sync_one(struct dsl_dataset *ds, const char *htag,
extern void spa_history_log_internal_ds(struct dsl_dataset *ds, const char *op,
struct dsl_dataset;
struct dsl_dataset *zcp_dataset_hold(lua_State *, dsl_pool_t *,
extern int zfs_resume_fs(zfsvfs_t *zfsvfs, struct dsl_dataset *ds);
struct dsl_dataset;
struct dsl_dataset *ds, void *txarg);
struct dsl_dataset *ds, void *tx);
struct dsl_dataset *ds = NULL;