Changeset View
Changeset View
Standalone View
Standalone View
head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dbuf.c
Show First 20 Lines • Show All 169 Lines • ▼ Show 20 Lines | static void __dbuf_hold_impl_init(struct dbuf_hold_impl_data *dh, | ||||
dnode_t *dn, uint8_t level, uint64_t blkid, boolean_t fail_sparse, | dnode_t *dn, uint8_t level, uint64_t blkid, boolean_t fail_sparse, | ||||
boolean_t fail_uncached, | boolean_t fail_uncached, | ||||
void *tag, dmu_buf_impl_t **dbp, int depth); | void *tag, dmu_buf_impl_t **dbp, int depth); | ||||
static int __dbuf_hold_impl(struct dbuf_hold_impl_data *dh); | static int __dbuf_hold_impl(struct dbuf_hold_impl_data *dh); | ||||
static boolean_t dbuf_undirty(dmu_buf_impl_t *db, dmu_tx_t *tx); | static boolean_t dbuf_undirty(dmu_buf_impl_t *db, dmu_tx_t *tx); | ||||
static void dbuf_write(dbuf_dirty_record_t *dr, arc_buf_t *data, dmu_tx_t *tx); | static void dbuf_write(dbuf_dirty_record_t *dr, arc_buf_t *data, dmu_tx_t *tx); | ||||
#ifndef __lint | |||||
extern inline void dmu_buf_init_user(dmu_buf_user_t *dbu, | |||||
dmu_buf_evict_func_t *evict_func_sync, | |||||
dmu_buf_evict_func_t *evict_func_async, | |||||
dmu_buf_t **clear_on_evict_dbufp); | |||||
#endif /* ! __lint */ | |||||
/* | /* | ||||
* Global data structures and functions for the dbuf cache. | * Global data structures and functions for the dbuf cache. | ||||
*/ | */ | ||||
static kmem_cache_t *dbuf_kmem_cache; | static kmem_cache_t *dbuf_kmem_cache; | ||||
static taskq_t *dbu_evict_taskq; | static taskq_t *dbu_evict_taskq; | ||||
static kthread_t *dbuf_cache_evict_thread; | static kthread_t *dbuf_cache_evict_thread; | ||||
static kmutex_t dbuf_evict_lock; | static kmutex_t dbuf_evict_lock; | ||||
▲ Show 20 Lines • Show All 4,063 Lines • Show Last 20 Lines |