FreeBSD ZFS
The Zettabyte File System
Data Structures | Typedefs | Functions

sys/dsl_deadlist.h File Reference

#include <sys/bpobj.h>
#include <sys/zfs_context.h>
Include dependency graph for dsl_deadlist.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  dsl_deadlist_phys
struct  dsl_deadlist
struct  dsl_deadlist_entry

Typedefs

typedef struct dsl_deadlist_phys dsl_deadlist_phys_t
typedef struct dsl_deadlist dsl_deadlist_t
typedef struct dsl_deadlist_entry dsl_deadlist_entry_t

Functions

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)
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.
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].
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.

Typedef Documentation

typedef struct dsl_deadlist dsl_deadlist_t

Function Documentation

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.

uint64_t dsl_deadlist_alloc ( objset_t os,
dmu_tx_t tx 
)

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.

void dsl_deadlist_free ( objset_t os,
uint64_t  dlobj,
dmu_tx_t tx 
)

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.

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.

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.

 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Defines