Searched refs:bkey (Results 1 - 22 of 22) sorted by relevance

/linux-4.1.27/drivers/md/bcache/
H A Dextents.h7 struct bkey;
10 void bch_extent_to_text(char *, size_t, const struct bkey *);
11 bool __bch_btree_ptr_invalid(struct cache_set *, const struct bkey *);
12 bool __bch_extent_invalid(struct cache_set *, const struct bkey *);
H A Dbset.h13 * A bkey contains a key, a size field, a variable number of pointers, and some
34 * front or the back of a bkey - this is mainly used for fixing overlapping
171 struct bkey end;
191 struct bkey *(*sort_fixup)(struct btree_iter *, struct bkey *);
192 bool (*insert_fixup)(struct btree_keys *, struct bkey *,
193 struct btree_iter *, struct bkey *);
195 const struct bkey *);
196 bool (*key_bad)(struct btree_keys *, const struct bkey *);
198 struct bkey *, struct bkey *);
199 void (*key_to_text)(char *, size_t, const struct bkey *);
200 void (*key_dump)(struct btree_keys *, const struct bkey *);
236 static inline bool bkey_written(struct btree_keys *b, struct bkey *k) bkey_written()
289 void bch_bset_fix_invalidated_key(struct btree_keys *, struct bkey *);
290 bool bch_bkey_try_merge(struct btree_keys *, struct bkey *, struct bkey *);
291 void bch_bset_insert(struct btree_keys *, struct bkey *, struct bkey *);
292 unsigned bch_btree_insert_key(struct btree_keys *, struct bkey *,
293 struct bkey *);
311 struct bkey *k, *end;
315 typedef bool (*ptr_filter_fn)(struct btree_keys *, const struct bkey *);
317 struct bkey *bch_btree_iter_next(struct btree_iter *);
318 struct bkey *bch_btree_iter_next_filter(struct btree_iter *,
321 void bch_btree_iter_push(struct btree_iter *, struct bkey *, struct bkey *);
322 struct bkey *bch_btree_iter_init(struct btree_keys *, struct btree_iter *,
323 struct bkey *);
325 struct bkey *__bch_bset_search(struct btree_keys *, struct bset_tree *,
326 const struct bkey *);
331 static inline struct bkey *bch_bset_search(struct btree_keys *b, bch_bset_search()
333 const struct bkey *search) bch_bset_search()
383 #define bset_bkey_last(i) bkey_idx((struct bkey *) (i)->d, (i)->keys)
385 static inline struct bkey *bset_bkey_idx(struct bset *i, unsigned idx) bset_bkey_idx()
390 static inline void bkey_init(struct bkey *k) bkey_init()
395 static __always_inline int64_t bkey_cmp(const struct bkey *l, bkey_cmp()
396 const struct bkey *r) bkey_cmp()
403 void bch_bkey_copy_single_ptr(struct bkey *, const struct bkey *,
405 bool __bch_cut_front(const struct bkey *, struct bkey *);
406 bool __bch_cut_back(const struct bkey *, struct bkey *);
408 static inline bool bch_cut_front(const struct bkey *where, struct bkey *k) bch_cut_front()
414 static inline bool bch_cut_back(const struct bkey *where, struct bkey *k) bch_cut_back()
422 struct bkey *_ret = NULL; \
435 static inline bool bch_ptr_invalid(struct btree_keys *b, const struct bkey *k) bch_ptr_invalid()
440 static inline bool bch_ptr_bad(struct btree_keys *b, const struct bkey *k) bch_ptr_bad()
446 size_t size, const struct bkey *k) bch_bkey_to_text()
451 static inline bool bch_bkey_equal_header(const struct bkey *l, bch_bkey_equal_header()
452 const struct bkey *r) bch_bkey_equal_header()
463 struct bkey *keys;
467 struct bkey *top;
481 static inline void bch_keylist_init_single(struct keylist *l, struct bkey *k) bch_keylist_init_single()
492 static inline void bch_keylist_add(struct keylist *l, struct bkey *k) bch_keylist_add()
524 struct bkey *bch_keylist_pop(struct keylist *);
H A Dextents.c46 static bool __ptr_invalid(struct cache_set *c, const struct bkey *k) __ptr_invalid()
67 static const char *bch_ptr_status(struct cache_set *c, const struct bkey *k) bch_ptr_status()
96 void bch_extent_to_text(char *buf, size_t size, const struct bkey *k) bch_extent_to_text()
125 static void bch_bkey_dump(struct btree_keys *keys, const struct bkey *k) bch_bkey_dump()
148 bool __bch_btree_ptr_invalid(struct cache_set *c, const struct bkey *k) __bch_btree_ptr_invalid()
165 static bool bch_btree_ptr_invalid(struct btree_keys *bk, const struct bkey *k) bch_btree_ptr_invalid()
171 static bool btree_ptr_bad_expensive(struct btree *b, const struct bkey *k) btree_ptr_bad_expensive()
203 static bool bch_btree_ptr_bad(struct btree_keys *bk, const struct bkey *k) bch_btree_ptr_bad()
226 struct bkey *insert, bch_btree_ptr_insert_fixup()
228 struct bkey *replace_key) bch_btree_ptr_insert_fixup()
264 static struct bkey *bch_extent_sort_fixup(struct btree_iter *iter, bch_extent_sort_fixup()
265 struct bkey *tmp) bch_extent_sort_fixup()
311 static void bch_subtract_dirty(struct bkey *k, bch_subtract_dirty()
322 struct bkey *insert, bch_extent_insert_fixup()
324 struct bkey *replace_key) bch_extent_insert_fixup()
335 struct bkey *k = bch_btree_iter_next(iter); bch_extent_insert_fixup()
402 struct bkey *top; bch_extent_insert_fixup()
477 bool __bch_extent_invalid(struct cache_set *c, const struct bkey *k) __bch_extent_invalid()
497 static bool bch_extent_invalid(struct btree_keys *bk, const struct bkey *k) bch_extent_invalid()
503 static bool bch_extent_bad_expensive(struct btree *b, const struct bkey *k, bch_extent_bad_expensive()
533 static bool bch_extent_bad(struct btree_keys *bk, const struct bkey *k) bch_extent_bad()
572 static uint64_t merge_chksums(struct bkey *l, struct bkey *r) merge_chksums()
578 static bool bch_extent_merge(struct btree_keys *bk, struct bkey *l, struct bkey *r) bch_extent_merge()
H A Dbset.c21 struct bkey *k, *next; bch_dump_bset()
56 struct bkey *k; __bch_count_data()
67 struct bkey *k, *p = NULL; __bch_check_keys()
111 struct bkey *k = iter->data->k, *next = bkey_next(k); bch_btree_iter_next_check()
156 struct bkey *bch_keylist_pop(struct keylist *l) bch_keylist_pop()
158 struct bkey *k = l->keys; bch_keylist_pop()
180 void bch_bkey_copy_single_ptr(struct bkey *dest, const struct bkey *src, bch_bkey_copy_single_ptr()
193 bool __bch_cut_front(const struct bkey *where, struct bkey *k) __bch_cut_front()
213 bool __bch_cut_back(const struct bkey *where, struct bkey *k) __bch_cut_back()
485 * Cacheline/offset <-> bkey pointer arithmetic:
503 static struct bkey *cacheline_to_bkey(struct bset_tree *t, unsigned cacheline, cacheline_to_bkey()
509 static unsigned bkey_to_cacheline(struct bset_tree *t, struct bkey *k) bkey_to_cacheline()
516 struct bkey *k) bkey_to_cacheline_offset()
521 static struct bkey *tree_to_bkey(struct bset_tree *t, unsigned j) tree_to_bkey()
526 static struct bkey *tree_to_prev_bkey(struct bset_tree *t, unsigned j) tree_to_prev_bkey()
535 static struct bkey *table_to_bkey(struct bset_tree *t, unsigned cacheline) table_to_bkey()
547 static inline unsigned bfloat_mantissa(const struct bkey *k, bfloat_mantissa()
557 struct bkey *m = tree_to_bkey(t, j); make_bfloat()
558 struct bkey *p = tree_to_prev_bkey(t, j); make_bfloat()
560 struct bkey *l = is_power_of_2(j) make_bfloat()
564 struct bkey *r = is_power_of_2(j + 1) make_bfloat()
637 struct bkey *prev = NULL, *k = t->data->start; bch_bset_build_written_tree()
681 void bch_bset_fix_invalidated_key(struct btree_keys *b, struct bkey *k) bch_bset_fix_invalidated_key()
729 struct bkey *k) bch_bset_fix_lookup_table()
781 bool bch_bkey_try_merge(struct btree_keys *b, struct bkey *l, struct bkey *r) bch_bkey_try_merge()
799 void bch_bset_insert(struct btree_keys *b, struct bkey *where, bch_bset_insert()
800 struct bkey *insert) bch_bset_insert()
819 unsigned bch_btree_insert_key(struct btree_keys *b, struct bkey *k, bch_btree_insert_key()
820 struct bkey *replace_key) bch_btree_insert_key()
824 struct bkey *m, *prev = NULL; bch_btree_insert_key()
868 struct bkey *l, *r;
872 const struct bkey *search) bset_search_write_set()
892 const struct bkey *search) bset_search_tree()
894 struct bkey *l, *r; bset_search_tree()
952 struct bkey *__bch_bset_search(struct btree_keys *b, struct bset_tree *t, __bch_bset_search()
953 const struct bkey *search) __bch_bset_search()
1032 void bch_btree_iter_push(struct btree_iter *iter, struct bkey *k, bch_btree_iter_push()
1033 struct bkey *end) bch_btree_iter_push()
1041 static struct bkey *__bch_btree_iter_init(struct btree_keys *b, __bch_btree_iter_init()
1043 struct bkey *search, __bch_btree_iter_init()
1046 struct bkey *ret = NULL; __bch_btree_iter_init()
1062 struct bkey *bch_btree_iter_init(struct btree_keys *b, bch_btree_iter_init()
1064 struct bkey *search) bch_btree_iter_init()
1070 static inline struct bkey *__bch_btree_iter_next(struct btree_iter *iter, __bch_btree_iter_next()
1074 struct bkey *ret = NULL; __bch_btree_iter_next()
1096 struct bkey *bch_btree_iter_next(struct btree_iter *iter) bch_btree_iter_next()
1103 struct bkey *bch_btree_iter_next_filter(struct btree_iter *iter, bch_btree_iter_next_filter()
1106 struct bkey *ret; bch_btree_iter_next_filter()
1143 struct bkey *k, *last = NULL; btree_mergesort()
1145 bool (*bad)(struct btree_keys *, const struct bkey *) = remove_stale btree_mergesort()
H A Dbtree.h11 * In the interior nodes, a struct bkey always points to a child btree node, and
196 void bkey_put(struct cache_set *c, struct bkey *k);
248 struct bkey *, int, bool, struct btree *);
251 struct bkey *);
253 atomic_t *, struct bkey *);
259 void bch_initial_mark_key(struct cache_set *, int, struct bkey *);
277 struct bkey *, btree_map_nodes_fn *, int);
280 struct bkey *from, btree_map_nodes_fn *fn) bch_btree_map_nodes()
287 struct bkey *from, bch_btree_map_leaf_nodes()
294 struct bkey *);
296 struct bkey *, btree_map_keys_fn *, int);
298 typedef bool (keybuf_pred_fn)(struct keybuf *, struct bkey *);
302 struct bkey *, keybuf_pred_fn *);
303 bool bch_keybuf_check_overlapping(struct keybuf *, struct bkey *,
304 struct bkey *);
308 struct bkey *, keybuf_pred_fn *);
H A Dbtree.c178 void bkey_put(struct cache_set *c, struct bkey *k) bkey_put()
581 static unsigned btree_order(struct bkey *k) btree_order()
586 static void mca_data_alloc(struct btree *b, struct bkey *k, gfp_t gfp) mca_data_alloc()
601 struct bkey *k, gfp_t gfp) mca_bucket_alloc()
818 static struct hlist_head *mca_hash(struct cache_set *c, struct bkey *k) mca_hash()
823 static struct btree *mca_find(struct cache_set *c, struct bkey *k) mca_find()
853 struct bkey *k) mca_cannibalize()
889 struct bkey *k, int level) mca_alloc()
969 struct bkey *k, int level, bool write, bch_btree_node_get()
1026 static void btree_node_prefetch(struct btree *parent, struct bkey *k) btree_node_prefetch()
1128 static void make_btree_freeing_key(struct btree *b, struct bkey *k) make_btree_freeing_key()
1172 struct bkey *k) __bch_btree_mark_key()
1225 void bch_initial_mark_key(struct cache_set *c, int level, struct bkey *k) bch_initial_mark_key()
1249 struct bkey *k; btree_gc_mark_node()
1295 struct keylist *, atomic_t *, struct bkey *);
1304 struct bkey *k; btree_gc_coalesce()
1345 struct bkey *k, *last = NULL; btree_gc_coalesce()
1502 struct bkey *k; btree_gc_count_keys()
1517 struct bkey *k; btree_gc_recurse()
1812 struct bkey *k, *p = NULL; bch_btree_check_recurse()
1886 static bool btree_insert_key(struct btree *b, struct bkey *k, btree_insert_key()
1887 struct bkey *replace_key) btree_insert_key()
1920 struct bkey *replace_key) bch_btree_insert_keys()
1926 struct bkey *k = insert_keys->keys; bch_btree_insert_keys()
1962 struct bkey *replace_key) btree_split()
2097 struct bkey *replace_key) bch_btree_insert_node()
2151 struct bkey *check_key) bch_btree_insert_check_key()
2192 struct bkey *replace_key;
2209 atomic_t *journal_ref, struct bkey *replace_key) bch_btree_insert()
2230 struct bkey *k; bch_btree_insert()
2269 struct bkey *from, bch_btree_map_nodes_recurse()
2275 struct bkey *k; bch_btree_map_nodes_recurse()
2298 struct bkey *from, btree_map_nodes_fn *fn, int flags) __bch_btree_map_nodes()
2304 struct bkey *from, btree_map_keys_fn *fn, bch_btree_map_keys_recurse()
2308 struct bkey *k; bch_btree_map_keys_recurse()
2331 struct bkey *from, btree_map_keys_fn *fn, int flags) bch_btree_map_keys()
2358 struct bkey *end;
2363 struct bkey *k) refill_keybuf_fn()
2407 struct bkey *end, keybuf_pred_fn *pred) bch_refill_keybuf()
2409 struct bkey start = buf->last_scanned; bch_refill_keybuf()
2458 bool bch_keybuf_check_overlapping(struct keybuf *buf, struct bkey *start, bch_keybuf_check_overlapping()
2459 struct bkey *end) bch_keybuf_check_overlapping()
2505 struct bkey *end, bch_keybuf_next_rescan()
H A Dwriteback.c324 static bool dirty_pred(struct keybuf *buf, struct bkey *k) dirty_pred()
385 struct bkey start = KEY(dc->disk.id, 0, 0); refill_dirty()
386 struct bkey end = KEY(dc->disk.id, MAX_KEY_OFFSET, 0); refill_dirty()
387 struct bkey start_pos; refill_dirty()
477 struct bkey *k) sectors_dirty_init_fn()
H A Dbcache.h229 struct bkey last_scanned;
237 struct bkey start;
238 struct bkey end;
603 struct bkey gc_done;
687 struct bkey key;
733 const struct bkey *k, PTR_CACHE()
740 const struct bkey *k, PTR_BUCKET_NR()
747 const struct bkey *k, PTR_BUCKET()
759 static inline uint8_t ptr_stale(struct cache_set *c, const struct bkey *k, ptr_stale()
765 static inline bool ptr_available(struct cache_set *c, const struct bkey *k, ptr_available()
878 void bch_submit_bbio(struct bio *, struct cache_set *, struct bkey *, unsigned);
887 void bch_bucket_free(struct cache_set *, struct bkey *);
891 struct bkey *, int, bool);
893 struct bkey *, int, bool);
894 bool bch_alloc_sectors(struct cache_set *, struct bkey *, unsigned,
H A Dalloc.c453 void bch_bucket_free(struct cache_set *c, struct bkey *k) bch_bucket_free()
463 struct bkey *k, int n, bool wait) __bch_bucket_alloc_set()
496 struct bkey *k, int n, bool wait) bch_bucket_alloc_set()
534 const struct bkey *search, pick_data_bucket()
536 struct bkey *alloc) pick_data_bucket()
571 bool bch_alloc_sectors(struct cache_set *c, struct bkey *k, unsigned sectors, bch_alloc_sectors()
H A Drequest.c38 static void bio_csum(struct bio *bio, struct bkey *k) bio_csum()
59 struct bkey *replace_key = op->replace ? &op->replace_key : NULL; bch_data_insert_keys()
156 struct bkey *src = op->insert_keys.keys, *dst = op->insert_keys.keys; bch_data_insert_error()
159 struct bkey *n = bkey_next(src); bch_data_insert_error()
212 struct bkey *k; bch_data_insert_start()
502 static int cache_lookup_fn(struct btree_op *op, struct btree *b, struct bkey *k) cache_lookup_fn()
506 struct bkey *bio_key; cache_lookup_fn()
871 struct bkey start = KEY(dc->disk.id, bio->bi_iter.bi_sector, 0); cached_dev_write()
872 struct bkey end = KEY(dc->disk.id, bio_end_sector(bio), 0); cached_dev_write()
H A Ddebug.c156 static bool dump_pred(struct keybuf *buf, struct bkey *k) dump_pred()
H A Dio.c145 struct bkey *k, unsigned ptr) bch_submit_bbio()
H A Djournal.c269 struct bkey *k; bch_journal_mark()
315 struct bkey *k; bch_journal_replay()
469 struct bkey *k = &c->journal.key; journal_reclaim()
585 struct bkey *k = &c->journal.key;
H A Dmovinggc.c21 static bool moving_pred(struct keybuf *buf, struct bkey *k) moving_pred()
H A Dsuper.c360 struct bkey *k, struct closure *parent) uuid_io()
401 struct bkey *k = &j->uuid_bucket; uuid_read()
1584 struct bkey *k; run_cache_set()
H A Dsysfs.c447 struct bkey *k; bch_root_usage()
/linux-4.1.27/include/uapi/linux/
H A Dbcache.h22 struct bkey { struct
29 BITMASK(name, struct bkey, field, offset, size)
32 static inline __u64 name(const struct bkey *k, unsigned i) \
35 static inline void SET_##name(struct bkey *k, unsigned i, __u64 v) \
55 static inline __u64 KEY_OFFSET(const struct bkey *k) KEY_OFFSET()
60 static inline void SET_KEY_OFFSET(struct bkey *k, __u64 v) SET_KEY_OFFSET()
71 ((struct bkey) { \
98 static inline unsigned long bkey_u64s(const struct bkey *k) bkey_u64s()
100 return (sizeof(struct bkey) / sizeof(__u64)) + KEY_PTRS(k); bkey_u64s()
103 static inline unsigned long bkey_bytes(const struct bkey *k) bkey_bytes()
110 static inline void bkey_copy_key(struct bkey *dest, const struct bkey *src) bkey_copy_key()
116 static inline struct bkey *bkey_next(const struct bkey *k) bkey_next()
119 return (struct bkey *) (d + bkey_u64s(k)); bkey_next()
122 static inline struct bkey *bkey_idx(const struct bkey *k, unsigned nr_keys) bkey_idx()
125 return (struct bkey *) (d + nr_keys); bkey_idx()
131 union { struct bkey key; __u64 key ## _pad[BKEY_PAD]; }
291 struct bkey start[0];
356 struct bkey start[0];
/linux-4.1.27/include/trace/events/
H A Dbcache.h40 DECLARE_EVENT_CLASS(bkey,
41 TP_PROTO(struct bkey *k),
186 DEFINE_EVENT(bkey, bcache_cache_insert,
187 TP_PROTO(struct bkey *k),
208 DEFINE_EVENT(bkey, bcache_journal_replay_key,
209 TP_PROTO(struct bkey *k),
299 DEFINE_EVENT(bkey, bcache_gc_copy,
300 TP_PROTO(struct bkey *k),
304 DEFINE_EVENT(bkey, bcache_gc_copy_collision,
305 TP_PROTO(struct bkey *k),
310 TP_PROTO(struct btree *b, struct bkey *k, unsigned op, unsigned status),
469 DEFINE_EVENT(bkey, bcache_writeback,
470 TP_PROTO(struct bkey *k),
474 DEFINE_EVENT(bkey, bcache_writeback_collision,
475 TP_PROTO(struct bkey *k),
/linux-4.1.27/lib/
H A Dbtree.c148 static unsigned long *bkey(struct btree_geo *geo, unsigned long *node, int n) bkey() function
161 longcpy(bkey(geo, node, n), key, geo->keylen); setkey()
172 longset(bkey(geo, node, n), 0, geo->keylen); clearpair()
219 longcpy(key, bkey(geo, node, 0), geo->keylen); btree_last()
227 return longcmp(bkey(geo, node, pos), key, geo->keylen); keycmp()
338 retry_key = bkey(geo, oldnode, i); btree_get_prev()
347 longcpy(__key, bkey(geo, node, i), geo->keylen); btree_get_prev()
424 setkey(geo, node, 0, bkey(geo, head->node, fill - 1)); btree_grow()
477 bkey(geo, node, fill / 2 - 1), btree_insert_level()
484 setkey(geo, new, i, bkey(geo, node, i)); btree_insert_level()
486 setkey(geo, node, i, bkey(geo, node, i + fill / 2)); btree_insert_level()
491 setkey(geo, node, i, bkey(geo, node, fill - 1)); btree_insert_level()
501 setkey(geo, node, i, bkey(geo, node, i - 1)); btree_insert_level()
529 setkey(geo, left, lfill + i, bkey(geo, right, i)); merge()
536 btree_remove_level(head, geo, bkey(geo, parent, lpos), level + 1); merge()
614 setkey(geo, node, i, bkey(geo, node, i + 1)); btree_remove_level()
694 func(child, opaque, bkey(geo, node, i), count++, __btree_for_each()
/linux-4.1.27/arch/s390/include/asm/
H A Dqdio.h31 * @bkey: access key for SL
41 u32 bkey : 4; member in struct:qdesfmt0
/linux-4.1.27/fs/hfs/
H A Dhfs.h145 /* Cast to a pointer to a generic bkey */
/linux-4.1.27/drivers/s390/cio/
H A Dqdio_setup.c410 irq_ptr->qdr->qdf0[i + nr].bkey = PAGE_DEFAULT_KEY >> 4; __qdio_allocate_fill_qdr()

Completed in 462 milliseconds