/* * The caching code relies on locking provided by the user of * struct ocfs2_caching_info. These operations connect that up.
*/ struct ocfs2_caching_operations { /* * A u64 representing the owning structure. Usually this * is the block number (i_blkno or whatnot). This is used so * that caching log messages can identify the owning structure.
*/
u64 (*co_owner)(struct ocfs2_caching_info *ci);
/* The superblock is needed during I/O. */ struct super_block *(*co_get_super)(struct ocfs2_caching_info *ci); /* * Lock and unlock the caching data. These will not sleep, and * should probably be spinlocks.
*/ void (*co_cache_lock)(struct ocfs2_caching_info *ci); void (*co_cache_unlock)(struct ocfs2_caching_info *ci);
/* * Lock and unlock for disk I/O. These will sleep, and should * be mutexes.
*/ void (*co_io_lock)(struct ocfs2_caching_info *ci); void (*co_io_unlock)(struct ocfs2_caching_info *ci);
};
int __init init_ocfs2_uptodate_cache(void); void exit_ocfs2_uptodate_cache(void);
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.