Typedefs |
typedef void(* | dmu_tx_hold_func_t )(dmu_tx_t *tx, struct dnode *dn, uint64_t arg1, uint64_t arg2) |
Functions |
dmu_tx_t * | dmu_tx_create_dd (dsl_dir_t *dd) |
dmu_tx_t * | dmu_tx_create (objset_t *os) |
dmu_tx_t * | dmu_tx_create_assigned (struct dsl_pool *dp, uint64_t txg) |
int | dmu_tx_is_syncing (dmu_tx_t *tx) |
int | dmu_tx_private_ok (dmu_tx_t *tx) |
static dmu_tx_hold_t * | dmu_tx_hold_object_impl (dmu_tx_t *tx, objset_t *os, uint64_t object, enum dmu_tx_hold_type type, uint64_t arg1, uint64_t arg2) |
void | dmu_tx_add_new_object (dmu_tx_t *tx, objset_t *os, uint64_t object) |
static int | dmu_tx_check_ioerr (zio_t *zio, dnode_t *dn, int level, uint64_t blkid) |
static void | dmu_tx_count_twig (dmu_tx_hold_t *txh, dnode_t *dn, dmu_buf_impl_t *db, int level, uint64_t blkid, boolean_t freeable, uint64_t *history) |
static void | dmu_tx_count_write (dmu_tx_hold_t *txh, uint64_t off, uint64_t len) |
static void | dmu_tx_count_dnode (dmu_tx_hold_t *txh) |
void | dmu_tx_hold_write (dmu_tx_t *tx, uint64_t object, uint64_t off, int len) |
static void | dmu_tx_count_free (dmu_tx_hold_t *txh, uint64_t off, uint64_t len) |
void | dmu_tx_hold_free (dmu_tx_t *tx, uint64_t object, uint64_t off, uint64_t len) |
void | dmu_tx_hold_zap (dmu_tx_t *tx, uint64_t object, int add, const char *name) |
void | dmu_tx_hold_bonus (dmu_tx_t *tx, uint64_t object) |
void | dmu_tx_hold_space (dmu_tx_t *tx, uint64_t space) |
int | dmu_tx_holds (dmu_tx_t *tx, uint64_t object) |
static int | dmu_tx_try_assign (dmu_tx_t *tx, uint64_t txg_how) |
static void | dmu_tx_unassign (dmu_tx_t *tx) |
int | dmu_tx_assign (dmu_tx_t *tx, uint64_t txg_how) |
| Assign tx to a transaction group.
|
void | dmu_tx_wait (dmu_tx_t *tx) |
void | dmu_tx_willuse_space (dmu_tx_t *tx, int64_t delta) |
void | dmu_tx_commit (dmu_tx_t *tx) |
void | dmu_tx_abort (dmu_tx_t *tx) |
uint64_t | dmu_tx_get_txg (dmu_tx_t *tx) |
| Return the txg number for the given assigned transaction.
|
void | dmu_tx_callback_register (dmu_tx_t *tx, dmu_tx_callback_func_t *func, void *data) |
| Registers a commit callback.
|
void | dmu_tx_do_callbacks (list_t *cb_list, int error) |
| Call all the commit callbacks on a list, with a given error code.
|
static void | dmu_tx_sa_registration_hold (sa_os_t *sa, dmu_tx_t *tx) |
| hold necessary attribute name for attribute registration.
|
void | dmu_tx_hold_spill (dmu_tx_t *tx, uint64_t object) |
void | dmu_tx_hold_sa_create (dmu_tx_t *tx, int attrsize) |
| Interface to hold a bunch of attributes.
|
void | dmu_tx_hold_sa (dmu_tx_t *tx, sa_handle_t *hdl, boolean_t may_grow) |
| Hold SA attribute.
|
Registers a commit callback.
When registering a callback, the transaction must be already created, but it cannot be committed or aborted. It can be assigned to a txg or not.
The callback will be called after the transaction has been safely written to stable storage and will also be called if the dmu_tx is aborted. If there is any error which prevents the transaction from being committed to disk, the callback will be called with a value of error != 0.
- Parameters:
-
[in] | func | |
[in,out] | data | A pointer to caller private data that is passed on as a callback parameter. The caller is responsible for properly allocating and freeing it. |
Definition at line 1231 of file dmu_tx.c.
Hold SA attribute.
dmu_tx_hold_sa(dmu_tx_t *tx, sa_handle_t *, attribute, add, size)
variable_size is the total size of all variable sized attributes passed to this function. It is not the total size of all variable size attributes that *may* exist on this object.
Definition at line 1362 of file dmu_tx.c.