^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1) What: /sys/class/bdi/<bdi>/
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2) Date: January 2008
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3) Contact: Peter Zijlstra <a.p.zijlstra@chello.nl>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4) Description:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 5)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 6) Provide a place in sysfs for the backing_dev_info object. This allows
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 7) setting and retrieving various BDI specific variables.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 8)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 9) The <bdi> identifier can be either of the following:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 10)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 11) MAJOR:MINOR
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 12)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 13) Device number for block devices, or value of st_dev on
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 14) non-block filesystems which provide their own BDI, such as NFS
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 15) and FUSE.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 16)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 17) MAJOR:MINOR-fuseblk
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 18)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 19) Value of st_dev on fuseblk filesystems.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 20)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 21) default
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 22)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 23) The default backing dev, used for non-block device backed
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 24) filesystems which do not provide their own BDI.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 25)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 26) Files under /sys/class/bdi/<bdi>/
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 27)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 28) read_ahead_kb (read-write)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 29)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 30) Size of the read-ahead window in kilobytes
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 31)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 32) min_ratio (read-write)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 33)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 34) Under normal circumstances each device is given a part of the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 35) total write-back cache that relates to its current average
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 36) writeout speed in relation to the other devices.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 37)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 38) The 'min_ratio' parameter allows assigning a minimum
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 39) percentage of the write-back cache to a particular device.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 40) For example, this is useful for providing a minimum QoS.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 41)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 42) max_ratio (read-write)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 43)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 44) Allows limiting a particular device to use not more than the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 45) given percentage of the write-back cache. This is useful in
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 46) situations where we want to avoid one device taking all or
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 47) most of the write-back cache. For example in case of an NFS
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 48) mount that is prone to get stuck, or a FUSE mount which cannot
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 49) be trusted to play fair.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 50)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 51) stable_pages_required (read-only)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 52)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 53) If set, the backing device requires that all pages comprising a write
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 54) request must not be changed until writeout is complete.