GNU Linux-libre 6.1.90-gnu
[releases.git] / Documentation / ABI / testing / sysfs-fs-f2fs
1 What:           /sys/fs/f2fs/<disk>/gc_max_sleep_time
2 Date:           July 2013
3 Contact:        "Namjae Jeon" <namjae.jeon@samsung.com>
4 Description:    Controls the maximum sleep time for gc_thread. Time
5                 is in milliseconds.
6
7 What:           /sys/fs/f2fs/<disk>/gc_min_sleep_time
8 Date:           July 2013
9 Contact:        "Namjae Jeon" <namjae.jeon@samsung.com>
10 Description:    Controls the minimum sleep time for gc_thread. Time
11                 is in milliseconds.
12
13 What:           /sys/fs/f2fs/<disk>/gc_no_gc_sleep_time
14 Date:           July 2013
15 Contact:        "Namjae Jeon" <namjae.jeon@samsung.com>
16 Description:    Controls the default sleep time for gc_thread. Time
17                 is in milliseconds.
18
19 What:           /sys/fs/f2fs/<disk>/gc_idle
20 Date:           July 2013
21 Contact:        "Namjae Jeon" <namjae.jeon@samsung.com>
22 Description:    Controls the victim selection policy for garbage collection.
23                 Setting gc_idle = 0(default) will disable this option. Setting:
24
25                 ===========  ===============================================
26                 gc_idle = 1  will select the Cost Benefit approach & setting
27                 gc_idle = 2  will select the greedy approach & setting
28                 gc_idle = 3  will select the age-threshold based approach.
29                 ===========  ===============================================
30
31 What:           /sys/fs/f2fs/<disk>/reclaim_segments
32 Date:           October 2013
33 Contact:        "Jaegeuk Kim" <jaegeuk.kim@samsung.com>
34 Description:    This parameter controls the number of prefree segments to be
35                 reclaimed. If the number of prefree segments is larger than
36                 the number of segments in the proportion to the percentage
37                 over total volume size, f2fs tries to conduct checkpoint to
38                 reclaim the prefree segments to free segments.
39                 By default, 5% over total # of segments.
40
41 What:           /sys/fs/f2fs/<disk>/main_blkaddr
42 Date:           November 2019
43 Contact:        "Ramon Pantin" <pantin@google.com>
44 Description:    Shows first block address of MAIN area.
45
46 What:           /sys/fs/f2fs/<disk>/ipu_policy
47 Date:           November 2013
48 Contact:        "Jaegeuk Kim" <jaegeuk.kim@samsung.com>
49 Description:    Controls the in-place-update policy.
50                 updates in f2fs. User can set:
51
52                 ====  =================
53                 0x01  F2FS_IPU_FORCE
54                 0x02  F2FS_IPU_SSR
55                 0x04  F2FS_IPU_UTIL
56                 0x08  F2FS_IPU_SSR_UTIL
57                 0x10  F2FS_IPU_FSYNC
58                 0x20  F2FS_IPU_ASYNC
59                 0x40  F2FS_IPU_NOCACHE
60                 0x80  F2FS_IPU_HONOR_OPU_WRITE
61                 ====  =================
62
63                 Refer segment.h for details.
64
65 What:           /sys/fs/f2fs/<disk>/min_ipu_util
66 Date:           November 2013
67 Contact:        "Jaegeuk Kim" <jaegeuk.kim@samsung.com>
68 Description:    Controls the FS utilization condition for the in-place-update
69                 policies. It is used by F2FS_IPU_UTIL and F2FS_IPU_SSR_UTIL policies.
70
71 What:           /sys/fs/f2fs/<disk>/min_fsync_blocks
72 Date:           September 2014
73 Contact:        "Jaegeuk Kim" <jaegeuk@kernel.org>
74 Description:    Controls the dirty page count condition for the in-place-update
75                 policies.
76
77 What:           /sys/fs/f2fs/<disk>/min_seq_blocks
78 Date:           August 2018
79 Contact:        "Jaegeuk Kim" <jaegeuk@kernel.org>
80 Description:    Controls the dirty page count condition for batched sequential
81                 writes in writepages.
82
83 What:           /sys/fs/f2fs/<disk>/min_hot_blocks
84 Date:           March 2017
85 Contact:        "Jaegeuk Kim" <jaegeuk@kernel.org>
86 Description:    Controls the dirty page count condition for redefining hot data.
87
88 What:           /sys/fs/f2fs/<disk>/min_ssr_sections
89 Date:           October 2017
90 Contact:        "Chao Yu" <yuchao0@huawei.com>
91 Description:    Controls the free section threshold to trigger SSR allocation.
92                 If this is large, SSR mode will be enabled early.
93
94 What:           /sys/fs/f2fs/<disk>/max_small_discards
95 Date:           November 2013
96 Contact:        "Jaegeuk Kim" <jaegeuk.kim@samsung.com>
97 Description:    Controls the issue rate of discard commands that consist of small
98                 blocks less than 2MB. The candidates to be discarded are cached until
99                 checkpoint is triggered, and issued during the checkpoint.
100                 By default, it is disabled with 0.
101
102 What:           /sys/fs/f2fs/<disk>/max_discard_request
103 Date:           December 2021
104 Contact:        "Konstantin Vyshetsky" <vkon@google.com>
105 Description:    Controls the number of discards a thread will issue at a time.
106                 Higher number will allow the discard thread to finish its work
107                 faster, at the cost of higher latency for incomming I/O.
108
109 What:           /sys/fs/f2fs/<disk>/min_discard_issue_time
110 Date:           December 2021
111 Contact:        "Konstantin Vyshetsky" <vkon@google.com>
112 Description:    Controls the interval the discard thread will wait between
113                 issuing discard requests when there are discards to be issued and
114                 no I/O aware interruptions occur.
115
116 What:           /sys/fs/f2fs/<disk>/mid_discard_issue_time
117 Date:           December 2021
118 Contact:        "Konstantin Vyshetsky" <vkon@google.com>
119 Description:    Controls the interval the discard thread will wait between
120                 issuing discard requests when there are discards to be issued and
121                 an I/O aware interruption occurs.
122
123 What:           /sys/fs/f2fs/<disk>/max_discard_issue_time
124 Date:           December 2021
125 Contact:        "Konstantin Vyshetsky" <vkon@google.com>
126 Description:    Controls the interval the discard thread will wait when there are
127                 no discard operations to be issued.
128
129 What:           /sys/fs/f2fs/<disk>/discard_granularity
130 Date:           July 2017
131 Contact:        "Chao Yu" <yuchao0@huawei.com>
132 Description:    Controls discard granularity of inner discard thread. Inner thread
133                 will not issue discards with size that is smaller than granularity.
134                 The unit size is one block(4KB), now only support configuring
135                 in range of [1, 512]. Default value is 4(=16KB).
136
137 What:           /sys/fs/f2fs/<disk>/umount_discard_timeout
138 Date:           January 2019
139 Contact:        "Jaegeuk Kim" <jaegeuk@kernel.org>
140 Description:    Set timeout to issue discard commands during umount.
141                 Default: 5 secs
142
143 What:           /sys/fs/f2fs/<disk>/pending_discard
144 Date:           November 2021
145 Contact:        "Jaegeuk Kim" <jaegeuk@kernel.org>
146 Description:    Shows the number of pending discard commands in the queue.
147
148 What:           /sys/fs/f2fs/<disk>/max_victim_search
149 Date:           January 2014
150 Contact:        "Jaegeuk Kim" <jaegeuk.kim@samsung.com>
151 Description:    Controls the number of trials to find a victim segment
152                 when conducting SSR and cleaning operations. The default value
153                 is 4096 which covers 8GB block address range.
154
155 What:           /sys/fs/f2fs/<disk>/migration_granularity
156 Date:           October 2018
157 Contact:        "Chao Yu" <yuchao0@huawei.com>
158 Description:    Controls migration granularity of garbage collection on large
159                 section, it can let GC move partial segment{s} of one section
160                 in one GC cycle, so that dispersing heavy overhead GC to
161                 multiple lightweight one.
162
163 What:           /sys/fs/f2fs/<disk>/dir_level
164 Date:           March 2014
165 Contact:        "Jaegeuk Kim" <jaegeuk.kim@samsung.com>
166 Description:    Controls the directory level for large directory. If a
167                 directory has a number of files, it can reduce the file lookup
168                 latency by increasing this dir_level value. Otherwise, it
169                 needs to decrease this value to reduce the space overhead.
170                 The default value is 0.
171
172 What:           /sys/fs/f2fs/<disk>/ram_thresh
173 Date:           March 2014
174 Contact:        "Jaegeuk Kim" <jaegeuk.kim@samsung.com>
175 Description:    Controls the memory footprint used by free nids and cached
176                 nat entries. By default, 1 is set, which indicates
177                 10 MB / 1 GB RAM.
178
179 What:           /sys/fs/f2fs/<disk>/batched_trim_sections
180 Date:           February 2015
181 Contact:        "Jaegeuk Kim" <jaegeuk@kernel.org>
182 Description:    Controls the trimming rate in batch mode.
183                 <deprecated>
184
185 What:           /sys/fs/f2fs/<disk>/cp_interval
186 Date:           October 2015
187 Contact:        "Jaegeuk Kim" <jaegeuk@kernel.org>
188 Description:    Controls the checkpoint timing, set to 60 seconds by default.
189
190 What:           /sys/fs/f2fs/<disk>/idle_interval
191 Date:           January 2016
192 Contact:        "Jaegeuk Kim" <jaegeuk@kernel.org>
193 Description:    Controls the idle timing of system, if there is no FS operation
194                 during given interval.
195                 Set to 5 seconds by default.
196
197 What:           /sys/fs/f2fs/<disk>/discard_idle_interval
198 Date:           September 2018
199 Contact:        "Chao Yu" <yuchao0@huawei.com>
200 Contact:        "Sahitya Tummala" <stummala@codeaurora.org>
201 Description:    Controls the idle timing of discard thread given
202                 this time interval.
203                 Default is 5 secs.
204
205 What:           /sys/fs/f2fs/<disk>/gc_idle_interval
206 Date:           September 2018
207 Contact:        "Chao Yu" <yuchao0@huawei.com>
208 Contact:        "Sahitya Tummala" <stummala@codeaurora.org>
209 Description:    Controls the idle timing for gc path. Set to 5 seconds by default.
210
211 What:           /sys/fs/f2fs/<disk>/iostat_enable
212 Date:           August 2017
213 Contact:        "Chao Yu" <yuchao0@huawei.com>
214 Description:    Controls to enable/disable IO stat.
215
216 What:           /sys/fs/f2fs/<disk>/ra_nid_pages
217 Date:           October 2015
218 Contact:        "Chao Yu" <chao2.yu@samsung.com>
219 Description:    Controls the count of nid pages to be readaheaded.
220                 When building free nids, F2FS reads NAT blocks ahead for
221                 speed up. Default is 0.
222
223 What:           /sys/fs/f2fs/<disk>/dirty_nats_ratio
224 Date:           January 2016
225 Contact:        "Chao Yu" <chao2.yu@samsung.com>
226 Description:    Controls dirty nat entries ratio threshold, if current
227                 ratio exceeds configured threshold, checkpoint will
228                 be triggered for flushing dirty nat entries.
229
230 What:           /sys/fs/f2fs/<disk>/lifetime_write_kbytes
231 Date:           January 2016
232 Contact:        "Shuoran Liu" <liushuoran@huawei.com>
233 Description:    Shows total written kbytes issued to disk.
234
235 What:           /sys/fs/f2fs/<disk>/features
236 Date:           July 2017
237 Contact:        "Jaegeuk Kim" <jaegeuk@kernel.org>
238 Description:    <deprecated: should use /sys/fs/f2fs/<disk>/feature_list/
239                 Shows all enabled features in current device.
240                 Supported features:
241                 encryption, blkzoned, extra_attr, projquota, inode_checksum,
242                 flexible_inline_xattr, quota_ino, inode_crtime, lost_found,
243                 verity, sb_checksum, casefold, readonly, compression, pin_file.
244
245 What:           /sys/fs/f2fs/<disk>/feature_list/
246 Date:           June 2021
247 Contact:        "Jaegeuk Kim" <jaegeuk@kernel.org>
248 Description:    Expand /sys/fs/f2fs/<disk>/features to meet sysfs rule.
249                 Supported on-disk features:
250                 encryption, block_zoned (aka blkzoned), extra_attr,
251                 project_quota (aka projquota), inode_checksum,
252                 flexible_inline_xattr, quota_ino, inode_crtime, lost_found,
253                 verity, sb_checksum, casefold, readonly, compression.
254                 Note that, pin_file is moved into /sys/fs/f2fs/features/.
255
256 What:           /sys/fs/f2fs/features/
257 Date:           July 2017
258 Contact:        "Jaegeuk Kim" <jaegeuk@kernel.org>
259 Description:    Shows all enabled kernel features.
260                 Supported features:
261                 encryption, block_zoned, extra_attr, project_quota,
262                 inode_checksum, flexible_inline_xattr, quota_ino,
263                 inode_crtime, lost_found, verity, sb_checksum,
264                 casefold, readonly, compression, test_dummy_encryption_v2,
265                 atomic_write, pin_file, encrypted_casefold.
266
267 What:           /sys/fs/f2fs/<disk>/inject_rate
268 Date:           May 2016
269 Contact:        "Sheng Yong" <shengyong1@huawei.com>
270 Description:    Controls the injection rate of arbitrary faults.
271
272 What:           /sys/fs/f2fs/<disk>/inject_type
273 Date:           May 2016
274 Contact:        "Sheng Yong" <shengyong1@huawei.com>
275 Description:    Controls the injection type of arbitrary faults.
276
277 What:           /sys/fs/f2fs/<disk>/dirty_segments
278 Date:           October 2017
279 Contact:        "Jaegeuk Kim" <jaegeuk@kernel.org>
280 Description:    Shows the number of dirty segments.
281
282 What:           /sys/fs/f2fs/<disk>/reserved_blocks
283 Date:           June 2017
284 Contact:        "Chao Yu" <yuchao0@huawei.com>
285 Description:    Controls target reserved blocks in system, the threshold
286                 is soft, it could exceed current available user space.
287
288 What:           /sys/fs/f2fs/<disk>/current_reserved_blocks
289 Date:           October 2017
290 Contact:        "Yunlong Song" <yunlong.song@huawei.com>
291 Contact:        "Chao Yu" <yuchao0@huawei.com>
292 Description:    Shows current reserved blocks in system, it may be temporarily
293                 smaller than target_reserved_blocks, but will gradually
294                 increase to target_reserved_blocks when more free blocks are
295                 freed by user later.
296
297 What:           /sys/fs/f2fs/<disk>/gc_urgent
298 Date:           August 2017
299 Contact:        "Jaegeuk Kim" <jaegeuk@kernel.org>
300 Description:    Do background GC aggressively when set. Set to 0 by default.
301                 gc urgent high(1): does GC forcibly in a period of given
302                 gc_urgent_sleep_time and ignores I/O idling check. uses greedy
303                 GC approach and turns SSR mode on.
304                 gc urgent low(2): lowers the bar of checking I/O idling in
305                 order to process outstanding discard commands and GC a
306                 little bit aggressively. uses cost benefit GC approach.
307                 gc urgent mid(3): does GC forcibly in a period of given
308                 gc_urgent_sleep_time and executes a mid level of I/O idling check.
309                 uses cost benefit GC approach.
310
311 What:           /sys/fs/f2fs/<disk>/gc_urgent_sleep_time
312 Date:           August 2017
313 Contact:        "Jaegeuk Kim" <jaegeuk@kernel.org>
314 Description:    Controls sleep time of GC urgent mode. Set to 500ms by default.
315
316 What:           /sys/fs/f2fs/<disk>/readdir_ra
317 Date:           November 2017
318 Contact:        "Sheng Yong" <shengyong1@huawei.com>
319 Description:    Controls readahead inode block in readdir. Enabled by default.
320
321 What:           /sys/fs/f2fs/<disk>/gc_pin_file_thresh
322 Date:           January 2018
323 Contact:        Jaegeuk Kim <jaegeuk@kernel.org>
324 Description:    This indicates how many GC can be failed for the pinned
325                 file. If it exceeds this, F2FS doesn't guarantee its pinning
326                 state. 2048 trials is set by default.
327
328 What:           /sys/fs/f2fs/<disk>/extension_list
329 Date:           Feburary 2018
330 Contact:        "Chao Yu" <yuchao0@huawei.com>
331 Description:    Used to control configure extension list:
332                 - Query: cat /sys/fs/f2fs/<disk>/extension_list
333                 - Add: echo '[h/c]extension' > /sys/fs/f2fs/<disk>/extension_list
334                 - Del: echo '[h/c]!extension' > /sys/fs/f2fs/<disk>/extension_list
335                 - [h] means add/del hot file extension
336                 - [c] means add/del cold file extension
337
338 What:           /sys/fs/f2fs/<disk>/unusable
339 Date            April 2019
340 Contact:        "Daniel Rosenberg" <drosen@google.com>
341 Description:    If checkpoint=disable, it displays the number of blocks that
342                 are unusable.
343                 If checkpoint=enable it displays the number of blocks that
344                 would be unusable if checkpoint=disable were to be set.
345
346 What:           /sys/fs/f2fs/<disk>/encoding
347 Date            July 2019
348 Contact:        "Daniel Rosenberg" <drosen@google.com>
349 Description:    Displays name and version of the encoding set for the filesystem.
350                 If no encoding is set, displays (none)
351
352 What:           /sys/fs/f2fs/<disk>/free_segments
353 Date:           September 2019
354 Contact:        "Hridya Valsaraju" <hridya@google.com>
355 Description:    Number of free segments in disk.
356
357 What:           /sys/fs/f2fs/<disk>/cp_foreground_calls
358 Date:           September 2019
359 Contact:        "Hridya Valsaraju" <hridya@google.com>
360 Description:    Number of checkpoint operations performed on demand. Available when
361                 CONFIG_F2FS_STAT_FS=y.
362
363 What:           /sys/fs/f2fs/<disk>/cp_background_calls
364 Date:           September 2019
365 Contact:        "Hridya Valsaraju" <hridya@google.com>
366 Description:    Number of checkpoint operations performed in the background to
367                 free segments. Available when CONFIG_F2FS_STAT_FS=y.
368
369 What:           /sys/fs/f2fs/<disk>/gc_foreground_calls
370 Date:           September 2019
371 Contact:        "Hridya Valsaraju" <hridya@google.com>
372 Description:    Number of garbage collection operations performed on demand.
373                 Available when CONFIG_F2FS_STAT_FS=y.
374
375 What:           /sys/fs/f2fs/<disk>/gc_background_calls
376 Date:           September 2019
377 Contact:        "Hridya Valsaraju" <hridya@google.com>
378 Description:    Number of garbage collection operations triggered in background.
379                 Available when CONFIG_F2FS_STAT_FS=y.
380
381 What:           /sys/fs/f2fs/<disk>/moved_blocks_foreground
382 Date:           September 2019
383 Contact:        "Hridya Valsaraju" <hridya@google.com>
384 Description:    Number of blocks moved by garbage collection in foreground.
385                 Available when CONFIG_F2FS_STAT_FS=y.
386
387 What:           /sys/fs/f2fs/<disk>/moved_blocks_background
388 Date:           September 2019
389 Contact:        "Hridya Valsaraju" <hridya@google.com>
390 Description:    Number of blocks moved by garbage collection in background.
391                 Available when CONFIG_F2FS_STAT_FS=y.
392
393 What:           /sys/fs/f2fs/<disk>/avg_vblocks
394 Date:           September 2019
395 Contact:        "Hridya Valsaraju" <hridya@google.com>
396 Description:    Average number of valid blocks.
397                 Available when CONFIG_F2FS_STAT_FS=y.
398
399 What:           /sys/fs/f2fs/<disk>/mounted_time_sec
400 Date:           February 2020
401 Contact:        "Jaegeuk Kim" <jaegeuk@kernel.org>
402 Description:    Show the mounted time in secs of this partition.
403
404 What:           /sys/fs/f2fs/<disk>/data_io_flag
405 Date:           April 2020
406 Contact:        "Jaegeuk Kim" <jaegeuk@kernel.org>
407 Description:    Give a way to attach REQ_META|FUA to data writes
408                 given temperature-based bits. Now the bits indicate:
409
410                 +-------------------+-------------------+
411                 |      REQ_META     |      REQ_FUA      |
412                 +------+------+-----+------+------+-----+
413                 |    5 |    4 |   3 |    2 |    1 |   0 |
414                 +------+------+-----+------+------+-----+
415                 | Cold | Warm | Hot | Cold | Warm | Hot |
416                 +------+------+-----+------+------+-----+
417
418 What:           /sys/fs/f2fs/<disk>/node_io_flag
419 Date:           June 2020
420 Contact:        "Jaegeuk Kim" <jaegeuk@kernel.org>
421 Description:    Give a way to attach REQ_META|FUA to node writes
422                 given temperature-based bits. Now the bits indicate:
423
424                 +-------------------+-------------------+
425                 |      REQ_META     |      REQ_FUA      |
426                 +------+------+-----+------+------+-----+
427                 |    5 |    4 |   3 |    2 |    1 |   0 |
428                 +------+------+-----+------+------+-----+
429                 | Cold | Warm | Hot | Cold | Warm | Hot |
430                 +------+------+-----+------+------+-----+
431
432 What:           /sys/fs/f2fs/<disk>/iostat_period_ms
433 Date:           April 2020
434 Contact:        "Daeho Jeong" <daehojeong@google.com>
435 Description:    Give a way to change iostat_period time. 3secs by default.
436                 The new iostat trace gives stats gap given the period.
437 What:           /sys/fs/f2fs/<disk>/max_io_bytes
438 Date:           December 2020
439 Contact:        "Jaegeuk Kim" <jaegeuk@kernel.org>
440 Description:    This gives a control to limit the bio size in f2fs.
441                 Default is zero, which will follow underlying block layer limit,
442                 whereas, if it has a certain bytes value, f2fs won't submit a
443                 bio larger than that size.
444
445 What:           /sys/fs/f2fs/<disk>/stat/sb_status
446 Date:           December 2020
447 Contact:        "Chao Yu" <yuchao0@huawei.com>
448 Description:    Show status of f2fs superblock in real time.
449
450                 ====== ===================== =================================
451                 value  sb status macro       description
452                 0x1    SBI_IS_DIRTY          dirty flag for checkpoint
453                 0x2    SBI_IS_CLOSE          specify unmounting
454                 0x4    SBI_NEED_FSCK         need fsck.f2fs to fix
455                 0x8    SBI_POR_DOING         recovery is doing or not
456                 0x10   SBI_NEED_SB_WRITE     need to recover superblock
457                 0x20   SBI_NEED_CP           need to checkpoint
458                 0x40   SBI_IS_SHUTDOWN       shutdown by ioctl
459                 0x80   SBI_IS_RECOVERED      recovered orphan/data
460                 0x100  SBI_CP_DISABLED       CP was disabled last mount
461                 0x200  SBI_CP_DISABLED_QUICK CP was disabled quickly
462                 0x400  SBI_QUOTA_NEED_FLUSH  need to flush quota info in CP
463                 0x800  SBI_QUOTA_SKIP_FLUSH  skip flushing quota in current CP
464                 0x1000 SBI_QUOTA_NEED_REPAIR quota file may be corrupted
465                 0x2000 SBI_IS_RESIZEFS       resizefs is in process
466                 0x4000 SBI_IS_FREEZING       freefs is in process
467                 ====== ===================== =================================
468
469 What:           /sys/fs/f2fs/<disk>/stat/cp_status
470 Date:           September 2022
471 Contact:        "Chao Yu" <chao.yu@oppo.com>
472 Description:    Show status of f2fs checkpoint in real time.
473
474                 =============================== ==============================
475                 cp flag                         value
476                 CP_UMOUNT_FLAG                  0x00000001
477                 CP_ORPHAN_PRESENT_FLAG          0x00000002
478                 CP_COMPACT_SUM_FLAG             0x00000004
479                 CP_ERROR_FLAG                   0x00000008
480                 CP_FSCK_FLAG                    0x00000010
481                 CP_FASTBOOT_FLAG                0x00000020
482                 CP_CRC_RECOVERY_FLAG            0x00000040
483                 CP_NAT_BITS_FLAG                0x00000080
484                 CP_TRIMMED_FLAG                 0x00000100
485                 CP_NOCRC_RECOVERY_FLAG          0x00000200
486                 CP_LARGE_NAT_BITMAP_FLAG        0x00000400
487                 CP_QUOTA_NEED_FSCK_FLAG         0x00000800
488                 CP_DISABLED_FLAG                0x00001000
489                 CP_DISABLED_QUICK_FLAG          0x00002000
490                 CP_RESIZEFS_FLAG                0x00004000
491                 =============================== ==============================
492
493 What:           /sys/fs/f2fs/<disk>/ckpt_thread_ioprio
494 Date:           January 2021
495 Contact:        "Daeho Jeong" <daehojeong@google.com>
496 Description:    Give a way to change checkpoint merge daemon's io priority.
497                 Its default value is "be,3", which means "BE" I/O class and
498                 I/O priority "3". We can select the class between "rt" and "be",
499                 and set the I/O priority within valid range of it. "," delimiter
500                 is necessary in between I/O class and priority number.
501
502 What:           /sys/fs/f2fs/<disk>/ovp_segments
503 Date:           March 2021
504 Contact:        "Jaegeuk Kim" <jaegeuk@kernel.org>
505 Description:    Shows the number of overprovision segments.
506
507 What:           /sys/fs/f2fs/<disk>/compr_written_block
508 Date:           March 2021
509 Contact:        "Daeho Jeong" <daehojeong@google.com>
510 Description:    Show the block count written after compression since mount. Note
511                 that when the compressed blocks are deleted, this count doesn't
512                 decrease. If you write "0" here, you can initialize
513                 compr_written_block and compr_saved_block to "0".
514
515 What:           /sys/fs/f2fs/<disk>/compr_saved_block
516 Date:           March 2021
517 Contact:        "Daeho Jeong" <daehojeong@google.com>
518 Description:    Show the saved block count with compression since mount. Note
519                 that when the compressed blocks are deleted, this count doesn't
520                 decrease. If you write "0" here, you can initialize
521                 compr_written_block and compr_saved_block to "0".
522
523 What:           /sys/fs/f2fs/<disk>/compr_new_inode
524 Date:           March 2021
525 Contact:        "Daeho Jeong" <daehojeong@google.com>
526 Description:    Show the count of inode newly enabled for compression since mount.
527                 Note that when the compression is disabled for the files, this count
528                 doesn't decrease. If you write "0" here, you can initialize
529                 compr_new_inode to "0".
530
531 What:           /sys/fs/f2fs/<disk>/atgc_candidate_ratio
532 Date:           May 2021
533 Contact:        "Chao Yu" <yuchao0@huawei.com>
534 Description:    When ATGC is on, it controls candidate ratio in order to limit total
535                 number of potential victim in all candidates, the value should be in
536                 range of [0, 100], by default it was initialized as 20(%).
537
538 What:           /sys/fs/f2fs/<disk>/atgc_candidate_count
539 Date:           May 2021
540 Contact:        "Chao Yu" <yuchao0@huawei.com>
541 Description:    When ATGC is on, it controls candidate count in order to limit total
542                 number of potential victim in all candidates, by default it was
543                 initialized as 10 (sections).
544
545 What:           /sys/fs/f2fs/<disk>/atgc_age_weight
546 Date:           May 2021
547 Contact:        "Chao Yu" <yuchao0@huawei.com>
548 Description:    When ATGC is on, it controls age weight to balance weight proportion
549                 in between aging and valid blocks, the value should be in range of
550                 [0, 100], by default it was initialized as 60(%).
551
552 What:           /sys/fs/f2fs/<disk>/atgc_age_threshold
553 Date:           May 2021
554 Contact:        "Chao Yu" <yuchao0@huawei.com>
555 Description:    When ATGC is on, it controls age threshold to bypass GCing young
556                 candidates whose age is not beyond the threshold, by default it was
557                 initialized as 604800 seconds (equals to 7 days).
558
559 What:           /sys/fs/f2fs/<disk>/gc_reclaimed_segments
560 Date:           July 2021
561 Contact:        "Daeho Jeong" <daehojeong@google.com>
562 Description:    Show how many segments have been reclaimed by GC during a specific
563                 GC mode (0: GC normal, 1: GC idle CB, 2: GC idle greedy,
564                 3: GC idle AT, 4: GC urgent high, 5: GC urgent low 6: GC urgent mid)
565                 You can re-initialize this value to "0".
566
567 What:           /sys/fs/f2fs/<disk>/gc_segment_mode
568 Date:           July 2021
569 Contact:        "Daeho Jeong" <daehojeong@google.com>
570 Description:    You can control for which gc mode the "gc_reclaimed_segments" node shows.
571                 Refer to the description of the modes in "gc_reclaimed_segments".
572
573 What:           /sys/fs/f2fs/<disk>/seq_file_ra_mul
574 Date:           July 2021
575 Contact:        "Daeho Jeong" <daehojeong@google.com>
576 Description:    You can control the multiplier value of bdi device readahead window size
577                 between 2 (default) and 256 for POSIX_FADV_SEQUENTIAL advise option.
578
579 What:           /sys/fs/f2fs/<disk>/max_fragment_chunk
580 Date:           August 2021
581 Contact:        "Daeho Jeong" <daehojeong@google.com>
582 Description:    With "mode=fragment:block" mount options, we can scatter block allocation.
583                 f2fs will allocate 1..<max_fragment_chunk> blocks in a chunk and make a hole
584                 in the length of 1..<max_fragment_hole> by turns. This value can be set
585                 between 1..512 and the default value is 4.
586
587 What:           /sys/fs/f2fs/<disk>/max_fragment_hole
588 Date:           August 2021
589 Contact:        "Daeho Jeong" <daehojeong@google.com>
590 Description:    With "mode=fragment:block" mount options, we can scatter block allocation.
591                 f2fs will allocate 1..<max_fragment_chunk> blocks in a chunk and make a hole
592                 in the length of 1..<max_fragment_hole> by turns. This value can be set
593                 between 1..512 and the default value is 4.
594
595 What:           /sys/fs/f2fs/<disk>/gc_urgent_high_remaining
596 Date:           December 2021
597 Contact:        "Daeho Jeong" <daehojeong@google.com>
598 Description:    You can set the trial count limit for GC urgent high mode with this value.
599                 If GC thread gets to the limit, the mode will turn back to GC normal mode.
600                 By default, the value is zero, which means there is no limit like before.
601
602 What:           /sys/fs/f2fs/<disk>/max_roll_forward_node_blocks
603 Date:           January 2022
604 Contact:        "Jaegeuk Kim" <jaegeuk@kernel.org>
605 Description:    Controls max # of node block writes to be used for roll forward
606                 recovery. This can limit the roll forward recovery time.
607
608 What:           /sys/fs/f2fs/<disk>/unusable_blocks_per_sec
609 Date:           June 2022
610 Contact:        "Jaegeuk Kim" <jaegeuk@kernel.org>
611 Description:    Shows the number of unusable blocks in a section which was defined by
612                 the zone capacity reported by underlying zoned device.
613
614 What:           /sys/fs/f2fs/<disk>/current_atomic_write
615 Date:           July 2022
616 Contact:        "Daeho Jeong" <daehojeong@google.com>
617 Description:    Show the total current atomic write block count, which is not committed yet.
618                 This is a read-only entry.
619
620 What:           /sys/fs/f2fs/<disk>/peak_atomic_write
621 Date:           July 2022
622 Contact:        "Daeho Jeong" <daehojeong@google.com>
623 Description:    Show the peak value of total current atomic write block count after boot.
624                 If you write "0" here, you can initialize to "0".
625
626 What:           /sys/fs/f2fs/<disk>/committed_atomic_block
627 Date:           July 2022
628 Contact:        "Daeho Jeong" <daehojeong@google.com>
629 Description:    Show the accumulated total committed atomic write block count after boot.
630                 If you write "0" here, you can initialize to "0".
631
632 What:           /sys/fs/f2fs/<disk>/revoked_atomic_block
633 Date:           July 2022
634 Contact:        "Daeho Jeong" <daehojeong@google.com>
635 Description:    Show the accumulated total revoked atomic write block count after boot.
636                 If you write "0" here, you can initialize to "0".