]> git.sesse.net Git - bcachefs-tools-debian/blob - include/linux/backing-dev.h
bcache in userspace; userspace fsck
[bcachefs-tools-debian] / include / linux / backing-dev.h
1 #ifndef _LINUX_BACKING_DEV_H
2 #define _LINUX_BACKING_DEV_H
3
4 typedef int (congested_fn)(void *, int);
5
6 enum wb_congested_state {
7         WB_async_congested,     /* The async (write) queue is getting full */
8         WB_sync_congested,      /* The sync queue is getting full */
9 };
10
11 struct backing_dev_info {
12         unsigned        ra_pages;
13         unsigned        capabilities;
14
15         congested_fn    *congested_fn;
16         void            *congested_data;
17 };
18
19 #define BDI_CAP_NO_ACCT_DIRTY   0x00000001
20 #define BDI_CAP_NO_WRITEBACK    0x00000002
21 #define BDI_CAP_NO_ACCT_WB      0x00000004
22 #define BDI_CAP_STABLE_WRITES   0x00000008
23 #define BDI_CAP_STRICTLIMIT     0x00000010
24 #define BDI_CAP_CGROUP_WRITEBACK 0x00000020
25
26 static inline int bdi_congested(struct backing_dev_info *bdi, int cong_bits)
27 {
28         return 0;
29 }
30
31 static inline int __must_check bdi_setup_and_register(struct backing_dev_info *bdi,
32                                                       char *name)
33 {
34         bdi->capabilities = 0;
35         return 0;
36 }
37
38 static inline void bdi_destroy(struct backing_dev_info *bdi) {}
39
40 #define VM_MAX_READAHEAD        128     /* kbytes */
41
42 #endif  /* _LINUX_BACKING_DEV_H */