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

sys/dsl_pool.h File Reference

#include <sys/spa.h>
#include <sys/txg.h>
#include <sys/txg_impl.h>
#include <sys/zfs_context.h>
#include <sys/zio.h>
#include <sys/dnode.h>
#include <sys/ddt.h>
#include <sys/arc.h>
#include <sys/bpobj.h>
#include <sys/bptree.h>
#include <sys/txg_impl.h>
#include <sys/dnode.h>
#include <sys/ddt.h>
#include <sys/bptree.h>
Include dependency graph for dsl_pool.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  zfs_blkstat
struct  zfs_all_blkstats
struct  dsl_pool

Defines

#define DMU_OT_DEFERRED   DMU_OT_NONE
#define DMU_OT_OTHER   DMU_OT_NUMTYPES
 place holder for DMU_OT() types
#define DMU_OT_TOTAL   (DMU_OT_NUMTYPES + 1)

Typedefs

typedef struct zfs_blkstat zfs_blkstat_t
typedef struct zfs_all_blkstats zfs_all_blkstats_t
typedef struct dsl_pool dsl_pool_t

Functions

int dsl_pool_init (spa_t *spa, uint64_t txg, dsl_pool_t **dpp)
int dsl_pool_open (dsl_pool_t *dp)
void dsl_pool_close (dsl_pool_t *dp)
dsl_pool_tdsl_pool_create (spa_t *spa, nvlist_t *zplprops, uint64_t txg)
void dsl_pool_sync (dsl_pool_t *dp, uint64_t txg)
void dsl_pool_sync_done (dsl_pool_t *dp, uint64_t txg)
int dsl_pool_sync_context (dsl_pool_t *dp)
 TRUE if the current thread is the tx_sync_thread or if we are being called from SPA context during pool initialization.
uint64_t dsl_pool_adjustedsize (dsl_pool_t *dp, boolean_t netfree)
uint64_t dsl_pool_adjustedfree (dsl_pool_t *dp, boolean_t netfree)
int dsl_pool_tempreserve_space (dsl_pool_t *dp, uint64_t space, dmu_tx_t *tx)
void dsl_pool_tempreserve_clear (dsl_pool_t *dp, int64_t space, dmu_tx_t *tx)
void dsl_pool_memory_pressure (dsl_pool_t *dp)
void dsl_pool_willuse_space (dsl_pool_t *dp, int64_t space, dmu_tx_t *tx)
void dsl_free (dsl_pool_t *dp, uint64_t txg, const blkptr_t *bpp)
void dsl_free_sync (zio_t *pio, dsl_pool_t *dp, uint64_t txg, const blkptr_t *bpp)
int dsl_read (zio_t *pio, spa_t *spa, const blkptr_t *bpp, arc_buf_t *pbuf, arc_done_func_t *done, void *priv, int priority, int zio_flags, uint32_t *arc_flags, const zbookmark_t *zb)
int dsl_read_nolock (zio_t *pio, spa_t *spa, const blkptr_t *bpp, arc_done_func_t *done, void *priv, int priority, int zio_flags, uint32_t *arc_flags, const zbookmark_t *zb)
void dsl_pool_create_origin (dsl_pool_t *dp, dmu_tx_t *tx)
void dsl_pool_upgrade_clones (dsl_pool_t *dp, dmu_tx_t *tx)
void dsl_pool_upgrade_dir_clones (dsl_pool_t *dp, dmu_tx_t *tx)
void dsl_pool_mos_diduse_space (dsl_pool_t *dp, int64_t used, int64_t comp, int64_t uncomp)
 Account for the meta-objset space in its placeholder dsl_dir.
taskq_t * dsl_pool_vnrele_taskq (dsl_pool_t *dp)
int dsl_pool_user_hold (dsl_pool_t *dp, uint64_t dsobj, const char *tag, uint64_t *now, dmu_tx_t *tx)
 Add a temporary hold for the given dataset object and tag.
int dsl_pool_user_release (dsl_pool_t *dp, uint64_t dsobj, const char *tag, dmu_tx_t *tx)
 Release a temporary hold for the given dataset object and tag.
void dsl_pool_clean_tmp_userrefs (dsl_pool_t *dp)
 Walk through the pool-wide zap object of temporary snapshot user holds and release them.
int dsl_pool_open_special_dir (dsl_pool_t *dp, const char *name, dsl_dir_t **)

Define Documentation

#define DMU_OT_DEFERRED   DMU_OT_NONE

Definition at line 52 of file dsl_pool.h.

#define DMU_OT_OTHER   DMU_OT_NUMTYPES

place holder for DMU_OT() types

Definition at line 53 of file dsl_pool.h.

#define DMU_OT_TOTAL   (DMU_OT_NUMTYPES + 1)

Definition at line 54 of file dsl_pool.h.


Typedef Documentation

typedef struct dsl_pool dsl_pool_t
typedef struct zfs_blkstat zfs_blkstat_t

Function Documentation

void dsl_free ( dsl_pool_t dp,
uint64_t  txg,
const blkptr_t bpp 
)

Definition at line 392 of file dsl_scan.c.

void dsl_free_sync ( zio_t pio,
dsl_pool_t dp,
uint64_t  txg,
const blkptr_t bpp 
)

Definition at line 398 of file dsl_scan.c.

uint64_t dsl_pool_adjustedfree ( dsl_pool_t dp,
boolean_t  netfree 
)
uint64_t dsl_pool_adjustedsize ( dsl_pool_t dp,
boolean_t  netfree 
)

Definition at line 586 of file dsl_pool.c.

void dsl_pool_clean_tmp_userrefs ( dsl_pool_t dp)

Walk through the pool-wide zap object of temporary snapshot user holds and release them.

Definition at line 863 of file dsl_pool.c.

void dsl_pool_close ( dsl_pool_t dp)

Definition at line 238 of file dsl_pool.c.

dsl_pool_t* dsl_pool_create ( spa_t spa,
nvlist_t *  zplprops,
uint64_t  txg 
)

Definition at line 279 of file dsl_pool.c.

void dsl_pool_create_origin ( dsl_pool_t dp,
dmu_tx_t tx 
)

Definition at line 832 of file dsl_pool.c.

int dsl_pool_init ( spa_t spa,
uint64_t  txg,
dsl_pool_t **  dpp 
)

Definition at line 134 of file dsl_pool.c.

void dsl_pool_memory_pressure ( dsl_pool_t dp)

Definition at line 658 of file dsl_pool.c.

void dsl_pool_mos_diduse_space ( dsl_pool_t dp,
int64_t  used,
int64_t  comp,
int64_t  uncomp 
)

Account for the meta-objset space in its placeholder dsl_dir.

Definition at line 349 of file dsl_pool.c.

int dsl_pool_open ( dsl_pool_t dp)

Definition at line 150 of file dsl_pool.c.

int dsl_pool_open_special_dir ( dsl_pool_t dp,
const char *  name,
dsl_dir_t **   
)

Definition at line 89 of file dsl_pool.c.

void dsl_pool_sync ( dsl_pool_t dp,
uint64_t  txg 
)

Definition at line 372 of file dsl_pool.c.

int dsl_pool_sync_context ( dsl_pool_t dp)

TRUE if the current thread is the tx_sync_thread or if we are being called from SPA context during pool initialization.

Definition at line 579 of file dsl_pool.c.

void dsl_pool_sync_done ( dsl_pool_t dp,
uint64_t  txg 
)

Definition at line 560 of file dsl_pool.c.

void dsl_pool_tempreserve_clear ( dsl_pool_t dp,
int64_t  space,
dmu_tx_t tx 
)

Definition at line 651 of file dsl_pool.c.

int dsl_pool_tempreserve_space ( dsl_pool_t dp,
uint64_t  space,
dmu_tx_t tx 
)

Definition at line 609 of file dsl_pool.c.

void dsl_pool_upgrade_clones ( dsl_pool_t dp,
dmu_tx_t tx 
)

Definition at line 763 of file dsl_pool.c.

void dsl_pool_upgrade_dir_clones ( dsl_pool_t dp,
dmu_tx_t tx 
)

Definition at line 806 of file dsl_pool.c.

int dsl_pool_user_hold ( dsl_pool_t dp,
uint64_t  dsobj,
const char *  tag,
uint64_t *  now,
dmu_tx_t tx 
)

Add a temporary hold for the given dataset object and tag.

Definition at line 943 of file dsl_pool.c.

int dsl_pool_user_release ( dsl_pool_t dp,
uint64_t  dsobj,
const char *  tag,
dmu_tx_t tx 
)

Release a temporary hold for the given dataset object and tag.

Definition at line 953 of file dsl_pool.c.

taskq_t* dsl_pool_vnrele_taskq ( dsl_pool_t dp)

Definition at line 853 of file dsl_pool.c.

void dsl_pool_willuse_space ( dsl_pool_t dp,
int64_t  space,
dmu_tx_t tx 
)

Definition at line 675 of file dsl_pool.c.

int dsl_read ( zio_t pio,
spa_t spa,
const blkptr_t bpp,
arc_buf_t pbuf,
arc_done_func_t done,
void *  priv,
int  priority,
int  zio_flags,
uint32_t *  arc_flags,
const zbookmark_t zb 
)

Definition at line 406 of file dsl_scan.c.

int dsl_read_nolock ( zio_t pio,
spa_t spa,
const blkptr_t bpp,
arc_done_func_t done,
void *  priv,
int  priority,
int  zio_flags,
uint32_t *  arc_flags,
const zbookmark_t zb 
)

Definition at line 415 of file dsl_scan.c.

 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Defines