FreeBSD ZFS
The Zettabyte File System
|
A bptree is a queue of root block pointers from destroyed datasets. More...
#include <sys/arc.h>
#include <sys/bptree.h>
#include <sys/dmu.h>
#include <sys/dmu_objset.h>
#include <sys/dmu_tx.h>
#include <sys/dmu_traverse.h>
#include <sys/dsl_dataset.h>
#include <sys/dsl_dir.h>
#include <sys/dsl_pool.h>
#include <sys/dnode.h>
#include <sys/refcount.h>
#include <sys/spa.h>
Go to the source code of this file.
Data Structures | |
struct | bptree_args |
Functions | |
uint64_t | bptree_alloc (objset_t *os, dmu_tx_t *tx) |
int | bptree_free (objset_t *os, uint64_t obj, dmu_tx_t *tx) |
void | bptree_add (objset_t *os, uint64_t obj, blkptr_t *bp, uint64_t birth_txg, uint64_t bytes, uint64_t comp, uint64_t uncomp, dmu_tx_t *tx) |
static int | bptree_visit_cb (spa_t *spa, zilog_t *zilog, const blkptr_t *bp, arc_buf_t *pbuf, const zbookmark_t *zb, const dnode_phys_t *dnp, void *arg) |
int | bptree_iterate (objset_t *os, uint64_t obj, boolean_t free, bptree_itor_t func, void *arg, dmu_tx_t *tx) |
Variables | |
struct bptree_args | bptree_args_t |
A bptree is a queue of root block pointers from destroyed datasets.
When a dataset is destroyed its root block pointer is put on the end of the pool's bptree queue so the dataset's blocks can be freed asynchronously by dsl_scan_sync. This allows the delete operation to finish without traversing all the dataset's blocks.
Definition in file bptree.c.
int bptree_iterate | ( | objset_t * | os, |
uint64_t | obj, | ||
boolean_t | free, | ||
bptree_itor_t | func, | ||
void * | arg, | ||
dmu_tx_t * | tx | ||
) |
static int bptree_visit_cb | ( | spa_t * | spa, |
zilog_t * | zilog, | ||
const blkptr_t * | bp, | ||
arc_buf_t * | pbuf, | ||
const zbookmark_t * | zb, | ||
const dnode_phys_t * | dnp, | ||
void * | arg | ||
) | [static] |
struct bptree_args bptree_args_t |