FreeBSD ZFS
The Zettabyte File System
|
#include <sys/dsl_dataset.h>
#include <sys/dmu.h>
#include <sys/refcount.h>
#include <sys/zap.h>
#include <sys/zfs_context.h>
#include <sys/dsl_pool.h>
Go to the source code of this file.
Functions | |
static int | dsl_deadlist_compare (const void *arg1, const void *arg2) |
static void | dsl_deadlist_load_tree (dsl_deadlist_t *dl) |
void | dsl_deadlist_open (dsl_deadlist_t *dl, objset_t *os, uint64_t object) |
void | dsl_deadlist_close (dsl_deadlist_t *dl) |
uint64_t | dsl_deadlist_alloc (objset_t *os, dmu_tx_t *tx) |
void | dsl_deadlist_free (objset_t *os, uint64_t dlobj, dmu_tx_t *tx) |
static void | dle_enqueue (dsl_deadlist_t *dl, dsl_deadlist_entry_t *dle, const blkptr_t *bp, dmu_tx_t *tx) |
static void | dle_enqueue_subobj (dsl_deadlist_t *dl, dsl_deadlist_entry_t *dle, uint64_t obj, dmu_tx_t *tx) |
void | dsl_deadlist_insert (dsl_deadlist_t *dl, const blkptr_t *bp, dmu_tx_t *tx) |
void | dsl_deadlist_add_key (dsl_deadlist_t *dl, uint64_t mintxg, dmu_tx_t *tx) |
Insert new key in deadlist, which must be > all current entries. | |
void | dsl_deadlist_remove_key (dsl_deadlist_t *dl, uint64_t mintxg, dmu_tx_t *tx) |
Remove this key, merging its entries into the previous key. | |
static void | dsl_deadlist_regenerate (objset_t *os, uint64_t dlobj, uint64_t mrs_obj, dmu_tx_t *tx) |
Walk ds's snapshots to regenerate generate ZAP & AVL. | |
uint64_t | dsl_deadlist_clone (dsl_deadlist_t *dl, uint64_t maxtxg, uint64_t mrs_obj, dmu_tx_t *tx) |
void | dsl_deadlist_space (dsl_deadlist_t *dl, uint64_t *usedp, uint64_t *compp, uint64_t *uncompp) |
void | dsl_deadlist_space_range (dsl_deadlist_t *dl, uint64_t mintxg, uint64_t maxtxg, uint64_t *usedp, uint64_t *compp, uint64_t *uncompp) |
return space used in the range (mintxg, maxtxg]. | |
static void | dsl_deadlist_insert_bpobj (dsl_deadlist_t *dl, uint64_t obj, uint64_t birth, dmu_tx_t *tx) |
static int | dsl_deadlist_insert_cb (void *arg, const blkptr_t *bp, dmu_tx_t *tx) |
void | dsl_deadlist_merge (dsl_deadlist_t *dl, uint64_t obj, dmu_tx_t *tx) |
Merge the deadlist pointed to by 'obj' into dl. | |
void | dsl_deadlist_move_bpobj (dsl_deadlist_t *dl, bpobj_t *bpo, uint64_t mintxg, dmu_tx_t *tx) |
Remove entries on dl that are >= mintxg, and put them on the bpobj. |
static void dle_enqueue | ( | dsl_deadlist_t * | dl, |
dsl_deadlist_entry_t * | dle, | ||
const blkptr_t * | bp, | ||
dmu_tx_t * | tx | ||
) | [static] |
Definition at line 178 of file dsl_deadlist.c.
static void dle_enqueue_subobj | ( | dsl_deadlist_t * | dl, |
dsl_deadlist_entry_t * | dle, | ||
uint64_t | obj, | ||
dmu_tx_t * | tx | ||
) | [static] |
Definition at line 194 of file dsl_deadlist.c.
void dsl_deadlist_add_key | ( | dsl_deadlist_t * | dl, |
uint64_t | mintxg, | ||
dmu_tx_t * | tx | ||
) |
Insert new key in deadlist, which must be > all current entries.
mintxg is not inclusive.
Definition at line 245 of file dsl_deadlist.c.
Definition at line 143 of file dsl_deadlist.c.
uint64_t dsl_deadlist_clone | ( | dsl_deadlist_t * | dl, |
uint64_t | maxtxg, | ||
uint64_t | mrs_obj, | ||
dmu_tx_t * | tx | ||
) |
Definition at line 319 of file dsl_deadlist.c.
void dsl_deadlist_close | ( | dsl_deadlist_t * | dl | ) |
Definition at line 117 of file dsl_deadlist.c.
static int dsl_deadlist_compare | ( | const void * | arg1, |
const void * | arg2 | ||
) | [static] |
Definition at line 54 of file dsl_deadlist.c.
Definition at line 152 of file dsl_deadlist.c.
void dsl_deadlist_insert | ( | dsl_deadlist_t * | dl, |
const blkptr_t * | bp, | ||
dmu_tx_t * | tx | ||
) |
Definition at line 210 of file dsl_deadlist.c.
static void dsl_deadlist_insert_bpobj | ( | dsl_deadlist_t * | dl, |
uint64_t | obj, | ||
uint64_t | birth, | ||
dmu_tx_t * | tx | ||
) | [static] |
Definition at line 413 of file dsl_deadlist.c.
Definition at line 443 of file dsl_deadlist.c.
static void dsl_deadlist_load_tree | ( | dsl_deadlist_t * | dl | ) | [static] |
Definition at line 68 of file dsl_deadlist.c.
void dsl_deadlist_merge | ( | dsl_deadlist_t * | dl, |
uint64_t | obj, | ||
dmu_tx_t * | tx | ||
) |
Merge the deadlist pointed to by 'obj' into dl.
obj will be left as an empty deadlist.
Definition at line 455 of file dsl_deadlist.c.
void dsl_deadlist_move_bpobj | ( | dsl_deadlist_t * | dl, |
bpobj_t * | bpo, | ||
uint64_t | mintxg, | ||
dmu_tx_t * | tx | ||
) |
Remove entries on dl that are >= mintxg, and put them on the bpobj.
Definition at line 493 of file dsl_deadlist.c.
void dsl_deadlist_open | ( | dsl_deadlist_t * | dl, |
objset_t * | os, | ||
uint64_t | object | ||
) |
Definition at line 94 of file dsl_deadlist.c.
static void dsl_deadlist_regenerate | ( | objset_t * | os, |
uint64_t | dlobj, | ||
uint64_t | mrs_obj, | ||
dmu_tx_t * | tx | ||
) | [static] |
Walk ds's snapshots to regenerate generate ZAP & AVL.
Definition at line 296 of file dsl_deadlist.c.
void dsl_deadlist_remove_key | ( | dsl_deadlist_t * | dl, |
uint64_t | mintxg, | ||
dmu_tx_t * | tx | ||
) |
Remove this key, merging its entries into the previous key.
Definition at line 269 of file dsl_deadlist.c.
void dsl_deadlist_space | ( | dsl_deadlist_t * | dl, |
uint64_t * | usedp, | ||
uint64_t * | compp, | ||
uint64_t * | uncompp | ||
) |
Definition at line 349 of file dsl_deadlist.c.
void dsl_deadlist_space_range | ( | dsl_deadlist_t * | dl, |
uint64_t | mintxg, | ||
uint64_t | maxtxg, | ||
uint64_t * | usedp, | ||
uint64_t * | compp, | ||
uint64_t * | uncompp | ||
) |
return space used in the range (mintxg, maxtxg].
Includes maxtxg, does not include mintxg. mintxg and maxtxg must both be keys in the deadlist (unless maxtxg is larger than any bp in the deadlist (eg. UINT64_MAX)).
Definition at line 372 of file dsl_deadlist.c.