blob: f0fb1d02d5309bf13e4bc8fbcb80726981194b88 [file] [log] [blame]
b.liue9582032025-04-17 19:18:16 +08001.. SPDX-License-Identifier: GPL-2.0
2
3=================================================
4incfs: A stacked incremental filesystem for Linux
5=================================================
6
7/sys/fs interface
8=================
9
10Please update Documentation/ABI/testing/sysfs-fs-incfs if you update this
11section.
12
13incfs creates the following files in /sys/fs.
14
15Features
16--------
17
18/sys/fs/incremental-fs/features/corefs
19 Reads 'supported'. Always present.
20
21/sys/fs/incremental-fs/features/v2
22 Reads 'supported'. Present if all v2 features of incfs are supported. These
23 are:
24 fs-verity support
25 inotify support
26 ioclts:
27 INCFS_IOC_SET_READ_TIMEOUTS
28 INCFS_IOC_GET_READ_TIMEOUTS
29 INCFS_IOC_GET_BLOCK_COUNT
30 INCFS_IOC_CREATE_MAPPED_FILE
31 .incomplete folder
32 .blocks_written pseudo file
33 report_uid mount option
34
35/sys/fs/incremental-fs/features/zstd
36 Reads 'supported'. Present if zstd compression is supported for data blocks.
37
38/sys/fs/incremental-fs/features/bugfix_throttling
39 Reads 'supported'. Present if the throttling lock bug is fixed
40
41Optional per mount
42------------------
43
44For each incfs mount, the mount option sysfs_name=[name] creates a /sys/fs
45node called:
46
47/sys/fs/incremental-fs/instances/[name]
48
49This will contain the following files:
50
51/sys/fs/incremental-fs/instances/[name]/reads_delayed_min
52 Returns a count of the number of reads that were delayed as a result of the
53 per UID read timeouts min time setting.
54
55/sys/fs/incremental-fs/instances/[name]/reads_delayed_min_us
56 Returns total delay time for all files since first mount as a result of the
57 per UID read timeouts min time setting.
58
59/sys/fs/incremental-fs/instances/[name]/reads_delayed_pending
60 Returns a count of the number of reads that were delayed as a result of
61 waiting for a pending read.
62
63/sys/fs/incremental-fs/instances/[name]/reads_delayed_pending_us
64 Returns total delay time for all files since first mount as a result of
65 waiting for a pending read.
66
67/sys/fs/incremental-fs/instances/[name]/reads_failed_hash_verification
68 Returns number of reads that failed because of hash verification failures.
69
70/sys/fs/incremental-fs/instances/[name]/reads_failed_other
71 Returns number of reads that failed for reasons other than timing out or
72 hash failures.
73
74/sys/fs/incremental-fs/instances/[name]/reads_failed_timed_out
75 Returns number of reads that timed out.
76
77For reads_delayed_*** settings, note that a file can count for both
78reads_delayed_min and reads_delayed_pending if incfs first waits for a pending
79read then has to wait further for the min time. In that case, the time spent
80waiting is split between reads_delayed_pending_us, which is increased by the
81time spent waiting for the pending read, and reads_delayed_min_us, which is
82increased by the remainder of the time spent waiting.
83
84Reads that timed out are not added to the reads_delayed_pending or the
85reads_delayed_pending_us counters.