bcache.h (de1fafab649f944d97e45fc043b55a3a5a371744) bcache.h (c954ac8d6610255b2fb11a30fb9ebb206f3da48d)
1/* SPDX-License-Identifier: GPL-2.0 */
2#ifndef _BCACHE_H
3#define _BCACHE_H
4
5/*
6 * SOME HIGH LEVEL CODE DOCUMENTATION:
7 *
8 * Bcache mostly works with cache sets, cache devices, and backing devices.

--- 768 unchanged lines hidden (view full) ---

777 return n;
778}
779
780static inline unsigned int meta_bucket_bytes(struct cache_sb *sb)
781{
782 return meta_bucket_pages(sb) << PAGE_SHIFT;
783}
784
1/* SPDX-License-Identifier: GPL-2.0 */
2#ifndef _BCACHE_H
3#define _BCACHE_H
4
5/*
6 * SOME HIGH LEVEL CODE DOCUMENTATION:
7 *
8 * Bcache mostly works with cache sets, cache devices, and backing devices.

--- 768 unchanged lines hidden (view full) ---

777 return n;
778}
779
780static inline unsigned int meta_bucket_bytes(struct cache_sb *sb)
781{
782 return meta_bucket_pages(sb) << PAGE_SHIFT;
783}
784
785#define prios_per_bucket(c) \
786 ((bucket_bytes(c) - sizeof(struct prio_set)) / \
785#define prios_per_bucket(ca) \
786 ((meta_bucket_bytes(&(ca)->sb) - sizeof(struct prio_set)) / \
787 sizeof(struct bucket_disk))
787 sizeof(struct bucket_disk))
788#define prio_buckets(c) \
789 DIV_ROUND_UP((size_t) (c)->sb.nbuckets, prios_per_bucket(c))
790
788
789#define prio_buckets(ca) \
790 DIV_ROUND_UP((size_t) (ca)->sb.nbuckets, prios_per_bucket(ca))
791
791static inline size_t sector_to_bucket(struct cache_set *c, sector_t s)
792{
793 return s >> c->bucket_bits;
794}
795
796static inline sector_t bucket_to_sector(struct cache_set *c, size_t b)
797{
798 return ((sector_t) b) << c->bucket_bits;

--- 256 unchanged lines hidden ---
792static inline size_t sector_to_bucket(struct cache_set *c, sector_t s)
793{
794 return s >> c->bucket_bits;
795}
796
797static inline sector_t bucket_to_sector(struct cache_set *c, size_t b)
798{
799 return ((sector_t) b) << c->bucket_bits;

--- 256 unchanged lines hidden ---