#ifndef _LINUX_BCACHE_H
#define _LINUX_BCACHE_H
#include <linux/types.h>
#define BITMASK(name, type, field, offset, size) …
struct bkey { … };
#define KEY_FIELD(name, field, offset, size) …
#define PTR_FIELD(name, offset, size) …
#define KEY_SIZE_BITS …
#define KEY_MAX_U64S …
KEY_FIELD(…) …
KEY_FIELD(…) …
KEY_FIELD(…) …
KEY_FIELD(…) …
KEY_FIELD(…) …
KEY_FIELD(…) …
KEY_FIELD(…) …
static inline __u64 KEY_OFFSET(const struct bkey *k)
{ … }
static inline void SET_KEY_OFFSET(struct bkey *k, __u64 v)
{ … }
#define KEY(inode, offset, size) …
#define ZERO_KEY …
#define MAX_KEY_INODE …
#define MAX_KEY_OFFSET …
#define MAX_KEY …
#define KEY_START(k) …
#define START_KEY(k) …
#define PTR_DEV_BITS …
PTR_FIELD(PTR_DEV, 51, PTR_DEV_BITS)
PTR_FIELD(PTR_OFFSET, 8, 43)
PTR_FIELD(PTR_GEN, 0, 8)
#define PTR_CHECK_DEV …
#define MAKE_PTR(gen, offset, dev) …
static inline unsigned long bkey_u64s(const struct bkey *k)
{ … }
static inline unsigned long bkey_bytes(const struct bkey *k)
{ … }
#define bkey_copy(_dest, _src) …
static inline void bkey_copy_key(struct bkey *dest, const struct bkey *src)
{ … }
static inline struct bkey *bkey_next(const struct bkey *k)
{ … }
static inline struct bkey *bkey_idx(const struct bkey *k, unsigned int nr_keys)
{ … }
#define BKEY_PAD …
#define BKEY_PADDED(key) …
#define BCACHE_SB_VERSION_CDEV …
#define BCACHE_SB_VERSION_BDEV …
#define BCACHE_SB_VERSION_CDEV_WITH_UUID …
#define BCACHE_SB_VERSION_BDEV_WITH_OFFSET …
#define BCACHE_SB_VERSION_CDEV_WITH_FEATURES …
#define BCACHE_SB_VERSION_BDEV_WITH_FEATURES …
#define BCACHE_SB_MAX_VERSION …
#define SB_SECTOR …
#define SB_OFFSET …
#define SB_SIZE …
#define SB_LABEL_SIZE …
#define SB_JOURNAL_BUCKETS …
#define MAX_CACHES_PER_SET …
#define BDEV_DATA_START_DEFAULT …
struct cache_sb_disk { … };
struct cache_sb { … };
static inline _Bool SB_IS_BDEV(const struct cache_sb *sb)
{ … }
BITMASK(CACHE_SYNC, struct cache_sb, flags, 0, 1);
BITMASK(CACHE_DISCARD, struct cache_sb, flags, 1, 1);
BITMASK(CACHE_REPLACEMENT, struct cache_sb, flags, 2, 3);
#define CACHE_REPLACEMENT_LRU …
#define CACHE_REPLACEMENT_FIFO …
#define CACHE_REPLACEMENT_RANDOM …
BITMASK(BDEV_CACHE_MODE, struct cache_sb, flags, 0, 4);
#define CACHE_MODE_WRITETHROUGH …
#define CACHE_MODE_WRITEBACK …
#define CACHE_MODE_WRITEAROUND …
#define CACHE_MODE_NONE …
BITMASK(BDEV_STATE, struct cache_sb, flags, 61, 2);
#define BDEV_STATE_NONE …
#define BDEV_STATE_CLEAN …
#define BDEV_STATE_DIRTY …
#define BDEV_STATE_STALE …
#define JSET_MAGIC …
#define PSET_MAGIC …
#define BSET_MAGIC …
static inline __u64 jset_magic(struct cache_sb *sb)
{ … }
static inline __u64 pset_magic(struct cache_sb *sb)
{ … }
static inline __u64 bset_magic(struct cache_sb *sb)
{ … }
#define BCACHE_JSET_VERSION_UUIDv1 …
#define BCACHE_JSET_VERSION_UUID …
#define BCACHE_JSET_VERSION …
struct jset { … };
struct prio_set { … };
struct uuid_entry { … };
BITMASK(UUID_FLASH_ONLY, struct uuid_entry, flags, 0, 1);
#define BCACHE_BSET_CSUM …
#define BCACHE_BSET_VERSION …
struct bset { … };
struct uuid_entry_v0 { … };
#endif