X-Git-Url: https://git.camperquake.de/gitweb.cgi?a=blobdiff_plain;f=include%2Fsys%2Ftxg.h;h=f9d6dd421810cfd57fc8dc8e9f16597ede588bef;hb=b01615d5ac86913da1e092d0378bfb8f0e72af30;hp=e323d5efabb78e5f36c3ad80c00d6ba02bfed86e;hpb=6283f55ea1b91e680386388c17d14b89e344fa8d;p=zfs.git diff --git a/include/sys/txg.h b/include/sys/txg.h index e323d5e..f9d6dd4 100644 --- a/include/sys/txg.h +++ b/include/sys/txg.h @@ -22,6 +22,9 @@ * Copyright 2010 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ +/* + * Copyright (c) 2012 by Delphix. All rights reserved. + */ #ifndef _SYS_TXG_H #define _SYS_TXG_H @@ -108,6 +111,12 @@ extern boolean_t txg_stalled(struct dsl_pool *dp); extern boolean_t txg_sync_waiting(struct dsl_pool *dp); /* + * Wait for pending commit callbacks of already-synced transactions to finish + * processing. + */ +extern void txg_wait_callbacks(struct dsl_pool *dp); + +/* * Per-txg object lists. */ @@ -115,7 +124,7 @@ extern boolean_t txg_sync_waiting(struct dsl_pool *dp); extern void txg_list_create(txg_list_t *tl, size_t offset); extern void txg_list_destroy(txg_list_t *tl); -extern int txg_list_empty(txg_list_t *tl, uint64_t txg); +extern boolean_t txg_list_empty(txg_list_t *tl, uint64_t txg); extern int txg_list_add(txg_list_t *tl, void *p, uint64_t txg); extern int txg_list_add_tail(txg_list_t *tl, void *p, uint64_t txg); extern void *txg_list_remove(txg_list_t *tl, uint64_t txg); @@ -124,6 +133,9 @@ extern int txg_list_member(txg_list_t *tl, void *p, uint64_t txg); extern void *txg_list_head(txg_list_t *tl, uint64_t txg); extern void *txg_list_next(txg_list_t *tl, void *p, uint64_t txg); +/* Global tuning */ +extern int zfs_txg_timeout; + #ifdef __cplusplus } #endif