/* the following 4 fields are used by caching_info. */
spinlock_t rf_lock; struct ocfs2_caching_info rf_ci; struct mutex rf_io_mutex; struct super_block *rf_sb;
};
void ocfs2_purge_refcount_trees(struct ocfs2_super *osb); int ocfs2_lock_refcount_tree(struct ocfs2_super *osb, u64 ref_blkno, int rw, struct ocfs2_refcount_tree **tree, struct buffer_head **ref_bh); void ocfs2_unlock_refcount_tree(struct ocfs2_super *osb, struct ocfs2_refcount_tree *tree, int rw);
int ocfs2_decrease_refcount(struct inode *inode,
handle_t *handle, u32 cpos, u32 len, struct ocfs2_alloc_context *meta_ac, struct ocfs2_cached_dealloc_ctxt *dealloc, intdelete); int ocfs2_prepare_refcount_change_for_del(struct inode *inode,
u64 refcount_loc,
u64 phys_blkno,
u32 clusters, int *credits, int *ref_blocks); int ocfs2_refcount_cow(struct inode *inode, struct buffer_head *di_bh,
u32 cpos, u32 write_len, u32 max_cpos);
typedefint (ocfs2_post_refcount_func)(struct inode *inode,
handle_t *handle, void *para); /* * Some refcount caller need to do more work after we modify the data b-tree * during refcount operation(including CoW and add refcount flag), and make the * transaction complete. So it must give us this structure so that we can do it * within our transaction. *
*/ struct ocfs2_post_refcount { int credits; /* credits it need for journal. */
ocfs2_post_refcount_func *func; /* real function. */ void *para;
};
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.