2024-06-19 09:00:11 -04:00
|
|
|
/* SPDX-License-Identifier: GPL-2.0 */
|
|
|
|
#ifndef _BCACHEFS_LRU_FORMAT_H
|
|
|
|
#define _BCACHEFS_LRU_FORMAT_H
|
|
|
|
|
|
|
|
struct bch_lru {
|
|
|
|
struct bch_val v;
|
|
|
|
__le64 idx;
|
|
|
|
} __packed __aligned(8);
|
|
|
|
|
|
|
|
#define BCH_LRU_TYPES() \
|
|
|
|
x(read) \
|
2025-02-07 21:31:03 -05:00
|
|
|
x(fragmentation) \
|
|
|
|
x(stripes)
|
2024-06-19 09:00:11 -04:00
|
|
|
|
|
|
|
enum bch_lru_type {
|
|
|
|
#define x(n) BCH_LRU_##n,
|
|
|
|
BCH_LRU_TYPES()
|
|
|
|
#undef x
|
|
|
|
};
|
|
|
|
|
2025-02-10 18:39:50 -05:00
|
|
|
#define BCH_LRU_BUCKET_FRAGMENTATION ((1U << 16) - 1)
|
2025-02-07 21:31:03 -05:00
|
|
|
#define BCH_LRU_STRIPE_FRAGMENTATION ((1U << 16) - 2)
|
2024-06-19 09:00:11 -04:00
|
|
|
|
|
|
|
#define LRU_TIME_BITS 48
|
|
|
|
#define LRU_TIME_MAX ((1ULL << LRU_TIME_BITS) - 1)
|
|
|
|
|
|
|
|
#endif /* _BCACHEFS_LRU_FORMAT_H */
|