FreeBSD ZFS
The Zettabyte File System
|
#include <dbuf.h>
Data Fields | |
dmu_buf_t | db |
the publicly visible structure | |
struct objset * | db_objset |
the objset we belong to | |
struct dnode_handle * | db_dnode_handle |
handle to safely access the dnode we belong to (NULL when evicted) | |
struct dmu_buf_impl * | db_parent |
our parent buffer; if the dnode points to us directly, db_parent == db_dnode_handle->dnh_dnode->dn_dbuf only accessed by sync thread ??? (NULL when evicted) May change from NULL to non-NULL under the protection of db_mtx (see dbuf_check_blkptr()) | |
struct dmu_buf_impl * | db_hash_next |
link for hash table of all dmu_buf_impl_t's | |
uint64_t | db_blkid |
our block number | |
blkptr_t * | db_blkptr |
Pointer to the blkptr_t which points to us. | |
uint8_t | db_level |
Our indirection level. | |
kmutex_t | db_mtx |
db_mtx protects the members below | |
dbuf_states_t | db_state |
Current state of the buffer. | |
refcount_t | db_holds |
Refcount accessed by dmu_buf_{hold,rele}. | |
arc_buf_t * | db_buf |
buffer holding our data | |
kcondvar_t | db_changed |
dbuf_dirty_record_t * | db_data_pending |
dbuf_dirty_record_t * | db_last_dirty |
pointer to most recent dirty record for this buffer | |
list_node_t | db_link |
Our link on the owner dnodes's dn_dbufs list. | |
void * | db_user_ptr |
Data which is unique to data (leaf) blocks: | |
void ** | db_user_data_ptr_ptr |
dmu_buf_evict_func_t * | db_evict_func |
uint8_t | db_immediate_evict |
uint8_t | db_freed_in_flight |
uint8_t | db_dirtycnt |
uint64_t dmu_buf_impl::db_blkid |
kcondvar_t dmu_buf_impl::db_changed |
uint8_t dmu_buf_impl::db_dirtycnt |
uint8_t dmu_buf_impl::db_freed_in_flight |
uint8_t dmu_buf_impl::db_immediate_evict |
uint8_t dmu_buf_impl::db_level |
list_node_t dmu_buf_impl::db_link |
kmutex_t dmu_buf_impl::db_mtx |
struct objset* dmu_buf_impl::db_objset |
struct dmu_buf_impl* dmu_buf_impl::db_parent |
our parent buffer; if the dnode points to us directly, db_parent == db_dnode_handle->dnh_dnode->dn_dbuf only accessed by sync thread ??? (NULL when evicted) May change from NULL to non-NULL under the protection of db_mtx (see dbuf_check_blkptr())