aboutsummaryrefslogtreecommitdiffstats
path: root/include/sys/dsl_dir.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/sys/dsl_dir.h')
-rw-r--r--include/sys/dsl_dir.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/include/sys/dsl_dir.h b/include/sys/dsl_dir.h
index bb6921027..88fd61035 100644
--- a/include/sys/dsl_dir.h
+++ b/include/sys/dsl_dir.h
@@ -121,6 +121,11 @@ struct dsl_dir {
bplist_t dd_pending_frees;
bplist_t dd_pending_allocs;
+ kmutex_t dd_activity_lock;
+ kcondvar_t dd_activity_cv;
+ boolean_t dd_activity_cancelled;
+ uint64_t dd_activity_waiters;
+
/* protected by dd_lock; keep at end of struct for better locality */
char dd_myname[ZFS_MAX_DATASET_NAME_LEN];
};
@@ -192,6 +197,9 @@ boolean_t dsl_dir_is_zapified(dsl_dir_t *dd);
void dsl_dir_livelist_open(dsl_dir_t *dd, uint64_t obj);
void dsl_dir_livelist_close(dsl_dir_t *dd);
void dsl_dir_remove_livelist(dsl_dir_t *dd, dmu_tx_t *tx, boolean_t total);
+int dsl_dir_wait(dsl_dir_t *dd, dsl_dataset_t *ds, zfs_wait_activity_t activity,
+ boolean_t *waited);
+void dsl_dir_cancel_waiters(dsl_dir_t *dd);
/* internal reserved dir name */
#define MOS_DIR_NAME "$MOS"