FreeBSD ZFS
The Zettabyte File System
Defines | Typedefs | Functions

sys/dmu_traverse.h File Reference

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

Go to the source code of this file.

Defines

#define TRAVERSE_PRE   (1<<0)
#define TRAVERSE_POST   (1<<1)
#define TRAVERSE_PREFETCH_METADATA   (1<<2)
#define TRAVERSE_PREFETCH_DATA   (1<<3)
#define TRAVERSE_PREFETCH   (TRAVERSE_PREFETCH_METADATA | TRAVERSE_PREFETCH_DATA)
#define TRAVERSE_HARD   (1<<4)
#define TRAVERSE_VISIT_NO_CHILDREN   -1
 Special traverse error return value to indicate skipping of children.

Typedefs

typedef int( blkptr_cb_t )(spa_t *spa, zilog_t *zilog, const blkptr_t *bp, struct arc_buf *pbuf, const zbookmark_t *zb, const struct dnode_phys *dnp, void *arg)

Functions

int traverse_dataset (struct dsl_dataset *ds, uint64_t txg_start, int flags, blkptr_cb_t func, void *arg)
 NB: dataset must not be changing on-disk (eg, is a snapshot or we are in syncing context).
int traverse_dataset_destroyed (spa_t *spa, blkptr_t *blkptr, uint64_t txg_start, zbookmark_t *resume, int flags, blkptr_cb_t func, void *arg)
int traverse_pool (spa_t *spa, uint64_t txg_start, int flags, blkptr_cb_t func, void *arg)
 NB: pool must not be changing on-disk (eg, from zdb or sync context).

Define Documentation

#define TRAVERSE_HARD   (1<<4)

Definition at line 51 of file dmu_traverse.h.

#define TRAVERSE_POST   (1<<1)

Definition at line 47 of file dmu_traverse.h.

#define TRAVERSE_PRE   (1<<0)

Definition at line 46 of file dmu_traverse.h.

#define TRAVERSE_PREFETCH   (TRAVERSE_PREFETCH_METADATA | TRAVERSE_PREFETCH_DATA)

Definition at line 50 of file dmu_traverse.h.

#define TRAVERSE_PREFETCH_DATA   (1<<3)

Definition at line 49 of file dmu_traverse.h.

#define TRAVERSE_PREFETCH_METADATA   (1<<2)

Definition at line 48 of file dmu_traverse.h.

#define TRAVERSE_VISIT_NO_CHILDREN   -1

Special traverse error return value to indicate skipping of children.

Definition at line 54 of file dmu_traverse.h.


Typedef Documentation

typedef int( blkptr_cb_t)(spa_t *spa, zilog_t *zilog, const blkptr_t *bp, struct arc_buf *pbuf, const zbookmark_t *zb, const struct dnode_phys *dnp, void *arg)

Definition at line 42 of file dmu_traverse.h.


Function Documentation

int traverse_dataset ( struct dsl_dataset ds,
uint64_t  txg_start,
int  flags,
blkptr_cb_t  func,
void *  arg 
)

NB: dataset must not be changing on-disk (eg, is a snapshot or we are in syncing context).

Definition at line 566 of file dmu_traverse.c.

int traverse_dataset_destroyed ( spa_t spa,
blkptr_t blkptr,
uint64_t  txg_start,
zbookmark_t resume,
int  flags,
blkptr_cb_t  func,
void *  arg 
)

Definition at line 574 of file dmu_traverse.c.

int traverse_pool ( spa_t spa,
uint64_t  txg_start,
int  flags,
blkptr_cb_t  func,
void *  arg 
)

NB: pool must not be changing on-disk (eg, from zdb or sync context).

Definition at line 586 of file dmu_traverse.c.

 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Defines