1What:		/sys/fs/f2fs/<disk>/gc_max_sleep_time
2Date:		July 2013
3Contact:	"Namjae Jeon" <namjae.jeon@samsung.com>
4Description:	Controls the maximum sleep time for gc_thread. Time
5		is in milliseconds.
6
7What:		/sys/fs/f2fs/<disk>/gc_min_sleep_time
8Date:		July 2013
9Contact:	"Namjae Jeon" <namjae.jeon@samsung.com>
10Description:	Controls the minimum sleep time for gc_thread. Time
11		is in milliseconds.
12
13What:		/sys/fs/f2fs/<disk>/gc_no_gc_sleep_time
14Date:		July 2013
15Contact:	"Namjae Jeon" <namjae.jeon@samsung.com>
16Description:	Controls the default sleep time for gc_thread. Time
17		is in milliseconds.
18
19What:		/sys/fs/f2fs/<disk>/gc_idle
20Date:		July 2013
21Contact:	"Namjae Jeon" <namjae.jeon@samsung.com>
22Description:	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
31What:		/sys/fs/f2fs/<disk>/reclaim_segments
32Date:		October 2013
33Contact:	"Jaegeuk Kim" <jaegeuk.kim@samsung.com>
34Description:	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
41What:		/sys/fs/f2fs/<disk>/main_blkaddr
42Date:		November 2019
43Contact:	"Ramon Pantin" <pantin@google.com>
44Description:	Shows first block address of MAIN area.
45
46What:		/sys/fs/f2fs/<disk>/ipu_policy
47Date:		November 2013
48Contact:	"Jaegeuk Kim" <jaegeuk.kim@samsung.com>
49Description:	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
65What:		/sys/fs/f2fs/<disk>/min_ipu_util
66Date:		November 2013
67Contact:	"Jaegeuk Kim" <jaegeuk.kim@samsung.com>
68Description:	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
71What:		/sys/fs/f2fs/<disk>/min_fsync_blocks
72Date:		September 2014
73Contact:	"Jaegeuk Kim" <jaegeuk@kernel.org>
74Description:	Controls the dirty page count condition for the in-place-update
75		policies.
76
77What:		/sys/fs/f2fs/<disk>/min_seq_blocks
78Date:		August 2018
79Contact:	"Jaegeuk Kim" <jaegeuk@kernel.org>
80Description:	Controls the dirty page count condition for batched sequential
81		writes in writepages.
82
83What:		/sys/fs/f2fs/<disk>/min_hot_blocks
84Date:		March 2017
85Contact:	"Jaegeuk Kim" <jaegeuk@kernel.org>
86Description:	Controls the dirty page count condition for redefining hot data.
87
88What:		/sys/fs/f2fs/<disk>/min_ssr_sections
89Date:		October 2017
90Contact:	"Chao Yu" <yuchao0@huawei.com>
91Description:	Controls the free section threshold to trigger SSR allocation.
92		If this is large, SSR mode will be enabled early.
93
94What:		/sys/fs/f2fs/<disk>/max_small_discards
95Date:		November 2013
96Contact:	"Jaegeuk Kim" <jaegeuk.kim@samsung.com>
97Description:	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
102What:		/sys/fs/f2fs/<disk>/max_discard_request
103Date:		December 2021
104Contact:	"Konstantin Vyshetsky" <vkon@google.com>
105Description:	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
109What:		/sys/fs/f2fs/<disk>/min_discard_issue_time
110Date:		December 2021
111Contact:	"Konstantin Vyshetsky" <vkon@google.com>
112Description:	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
116What:		/sys/fs/f2fs/<disk>/mid_discard_issue_time
117Date:		December 2021
118Contact:	"Konstantin Vyshetsky" <vkon@google.com>
119Description:	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
123What:		/sys/fs/f2fs/<disk>/max_discard_issue_time
124Date:		December 2021
125Contact:	"Konstantin Vyshetsky" <vkon@google.com>
126Description:	Controls the interval the discard thread will wait when there are
127		no discard operations to be issued.
128
129What:		/sys/fs/f2fs/<disk>/discard_granularity
130Date:		July 2017
131Contact:	"Chao Yu" <yuchao0@huawei.com>
132Description:	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
137What:		/sys/fs/f2fs/<disk>/umount_discard_timeout
138Date:		January 2019
139Contact:	"Jaegeuk Kim" <jaegeuk@kernel.org>
140Description:	Set timeout to issue discard commands during umount.
141	        Default: 5 secs
142
143What:		/sys/fs/f2fs/<disk>/pending_discard
144Date:		November 2021
145Contact:	"Jaegeuk Kim" <jaegeuk@kernel.org>
146Description:	Shows the number of pending discard commands in the queue.
147
148What:		/sys/fs/f2fs/<disk>/max_victim_search
149Date:		January 2014
150Contact:	"Jaegeuk Kim" <jaegeuk.kim@samsung.com>
151Description:	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
155What:		/sys/fs/f2fs/<disk>/migration_granularity
156Date:		October 2018
157Contact:	"Chao Yu" <yuchao0@huawei.com>
158Description:	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
163What:		/sys/fs/f2fs/<disk>/dir_level
164Date:		March 2014
165Contact:	"Jaegeuk Kim" <jaegeuk.kim@samsung.com>
166Description:	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
172What:		/sys/fs/f2fs/<disk>/ram_thresh
173Date:		March 2014
174Contact:	"Jaegeuk Kim" <jaegeuk.kim@samsung.com>
175Description:	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
179What:		/sys/fs/f2fs/<disk>/batched_trim_sections
180Date:		February 2015
181Contact:	"Jaegeuk Kim" <jaegeuk@kernel.org>
182Description:	Controls the trimming rate in batch mode.
183		<deprecated>
184
185What:		/sys/fs/f2fs/<disk>/cp_interval
186Date:		October 2015
187Contact:	"Jaegeuk Kim" <jaegeuk@kernel.org>
188Description:	Controls the checkpoint timing, set to 60 seconds by default.
189
190What:		/sys/fs/f2fs/<disk>/idle_interval
191Date:		January 2016
192Contact:	"Jaegeuk Kim" <jaegeuk@kernel.org>
193Description:	Controls the idle timing of system, if there is no FS operation
194		during given interval.
195		Set to 5 seconds by default.
196
197What:		/sys/fs/f2fs/<disk>/discard_idle_interval
198Date:		September 2018
199Contact:	"Chao Yu" <yuchao0@huawei.com>
200Contact:	"Sahitya Tummala" <stummala@codeaurora.org>
201Description:	Controls the idle timing of discard thread given
202		this time interval.
203		Default is 5 secs.
204
205What:		/sys/fs/f2fs/<disk>/gc_idle_interval
206Date:		September 2018
207Contact:	"Chao Yu" <yuchao0@huawei.com>
208Contact:	"Sahitya Tummala" <stummala@codeaurora.org>
209Description:    Controls the idle timing for gc path. Set to 5 seconds by default.
210
211What:		/sys/fs/f2fs/<disk>/iostat_enable
212Date:		August 2017
213Contact:	"Chao Yu" <yuchao0@huawei.com>
214Description:	Controls to enable/disable IO stat.
215
216What:		/sys/fs/f2fs/<disk>/ra_nid_pages
217Date:		October 2015
218Contact:	"Chao Yu" <chao2.yu@samsung.com>
219Description:	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
223What:		/sys/fs/f2fs/<disk>/dirty_nats_ratio
224Date:		January 2016
225Contact:	"Chao Yu" <chao2.yu@samsung.com>
226Description:	Controls dirty nat entries ratio threshold, if current
227		ratio exceeds configured threshold, checkpoint will
228		be triggered for flushing dirty nat entries.
229
230What:		/sys/fs/f2fs/<disk>/lifetime_write_kbytes
231Date:		January 2016
232Contact:	"Shuoran Liu" <liushuoran@huawei.com>
233Description:	Shows total written kbytes issued to disk.
234
235What:		/sys/fs/f2fs/<disk>/features
236Date:		July 2017
237Contact:	"Jaegeuk Kim" <jaegeuk@kernel.org>
238Description:	<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
245What:		/sys/fs/f2fs/<disk>/feature_list/
246Date:		June 2021
247Contact:	"Jaegeuk Kim" <jaegeuk@kernel.org>
248Description:	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
256What:		/sys/fs/f2fs/features/
257Date:		July 2017
258Contact:	"Jaegeuk Kim" <jaegeuk@kernel.org>
259Description:	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
267What:		/sys/fs/f2fs/<disk>/inject_rate
268Date:		May 2016
269Contact:	"Sheng Yong" <shengyong1@huawei.com>
270Description:	Controls the injection rate of arbitrary faults.
271
272What:		/sys/fs/f2fs/<disk>/inject_type
273Date:		May 2016
274Contact:	"Sheng Yong" <shengyong1@huawei.com>
275Description:	Controls the injection type of arbitrary faults.
276
277What:		/sys/fs/f2fs/<disk>/dirty_segments
278Date:		October 2017
279Contact:	"Jaegeuk Kim" <jaegeuk@kernel.org>
280Description:	Shows the number of dirty segments.
281
282What:		/sys/fs/f2fs/<disk>/reserved_blocks
283Date:		June 2017
284Contact:	"Chao Yu" <yuchao0@huawei.com>
285Description:	Controls target reserved blocks in system, the threshold
286		is soft, it could exceed current available user space.
287
288What:		/sys/fs/f2fs/<disk>/current_reserved_blocks
289Date:		October 2017
290Contact:	"Yunlong Song" <yunlong.song@huawei.com>
291Contact:	"Chao Yu" <yuchao0@huawei.com>
292Description:	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
297What:		/sys/fs/f2fs/<disk>/gc_urgent
298Date:		August 2017
299Contact:	"Jaegeuk Kim" <jaegeuk@kernel.org>
300Description:	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
311What:		/sys/fs/f2fs/<disk>/gc_urgent_sleep_time
312Date:		August 2017
313Contact:	"Jaegeuk Kim" <jaegeuk@kernel.org>
314Description:	Controls sleep time of GC urgent mode. Set to 500ms by default.
315
316What:		/sys/fs/f2fs/<disk>/readdir_ra
317Date:		November 2017
318Contact:	"Sheng Yong" <shengyong1@huawei.com>
319Description:	Controls readahead inode block in readdir. Enabled by default.
320
321What:		/sys/fs/f2fs/<disk>/gc_pin_file_thresh
322Date:		January 2018
323Contact:	Jaegeuk Kim <jaegeuk@kernel.org>
324Description:	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
328What:		/sys/fs/f2fs/<disk>/extension_list
329Date:		Feburary 2018
330Contact:	"Chao Yu" <yuchao0@huawei.com>
331Description:	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
338What:		/sys/fs/f2fs/<disk>/unusable
339Date		April 2019
340Contact:	"Daniel Rosenberg" <drosen@google.com>
341Description:	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
346What:		/sys/fs/f2fs/<disk>/encoding
347Date		July 2019
348Contact:	"Daniel Rosenberg" <drosen@google.com>
349Description:	Displays name and version of the encoding set for the filesystem.
350		If no encoding is set, displays (none)
351
352What:		/sys/fs/f2fs/<disk>/free_segments
353Date:		September 2019
354Contact:	"Hridya Valsaraju" <hridya@google.com>
355Description:	Number of free segments in disk.
356
357What:		/sys/fs/f2fs/<disk>/cp_foreground_calls
358Date:		September 2019
359Contact:	"Hridya Valsaraju" <hridya@google.com>
360Description:	Number of checkpoint operations performed on demand. Available when
361		CONFIG_F2FS_STAT_FS=y.
362
363What:		/sys/fs/f2fs/<disk>/cp_background_calls
364Date:		September 2019
365Contact:	"Hridya Valsaraju" <hridya@google.com>
366Description:	Number of checkpoint operations performed in the background to
367		free segments. Available when CONFIG_F2FS_STAT_FS=y.
368
369What:		/sys/fs/f2fs/<disk>/gc_foreground_calls
370Date:		September 2019
371Contact:	"Hridya Valsaraju" <hridya@google.com>
372Description:	Number of garbage collection operations performed on demand.
373		Available when CONFIG_F2FS_STAT_FS=y.
374
375What:		/sys/fs/f2fs/<disk>/gc_background_calls
376Date:		September 2019
377Contact:	"Hridya Valsaraju" <hridya@google.com>
378Description:	Number of garbage collection operations triggered in background.
379		Available when CONFIG_F2FS_STAT_FS=y.
380
381What:		/sys/fs/f2fs/<disk>/moved_blocks_foreground
382Date:		September 2019
383Contact:	"Hridya Valsaraju" <hridya@google.com>
384Description:	Number of blocks moved by garbage collection in foreground.
385		Available when CONFIG_F2FS_STAT_FS=y.
386
387What:		/sys/fs/f2fs/<disk>/moved_blocks_background
388Date:		September 2019
389Contact:	"Hridya Valsaraju" <hridya@google.com>
390Description:	Number of blocks moved by garbage collection in background.
391		Available when CONFIG_F2FS_STAT_FS=y.
392
393What:		/sys/fs/f2fs/<disk>/avg_vblocks
394Date:		September 2019
395Contact:	"Hridya Valsaraju" <hridya@google.com>
396Description:	Average number of valid blocks.
397		Available when CONFIG_F2FS_STAT_FS=y.
398
399What:		/sys/fs/f2fs/<disk>/mounted_time_sec
400Date:		February 2020
401Contact:	"Jaegeuk Kim" <jaegeuk@kernel.org>
402Description:	Show the mounted time in secs of this partition.
403
404What:		/sys/fs/f2fs/<disk>/data_io_flag
405Date:		April 2020
406Contact:	"Jaegeuk Kim" <jaegeuk@kernel.org>
407Description:	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
418What:		/sys/fs/f2fs/<disk>/node_io_flag
419Date:		June 2020
420Contact:	"Jaegeuk Kim" <jaegeuk@kernel.org>
421Description:	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
432What:		/sys/fs/f2fs/<disk>/iostat_period_ms
433Date:		April 2020
434Contact:	"Daeho Jeong" <daehojeong@google.com>
435Description:	Give a way to change iostat_period time. 3secs by default.
436		The new iostat trace gives stats gap given the period.
437What:		/sys/fs/f2fs/<disk>/max_io_bytes
438Date:		December 2020
439Contact:	"Jaegeuk Kim" <jaegeuk@kernel.org>
440Description:	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
445What:		/sys/fs/f2fs/<disk>/stat/sb_status
446Date:		December 2020
447Contact:	"Chao Yu" <yuchao0@huawei.com>
448Description:	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
469What:		/sys/fs/f2fs/<disk>/ckpt_thread_ioprio
470Date:		January 2021
471Contact:	"Daeho Jeong" <daehojeong@google.com>
472Description:	Give a way to change checkpoint merge daemon's io priority.
473		Its default value is "be,3", which means "BE" I/O class and
474		I/O priority "3". We can select the class between "rt" and "be",
475		and set the I/O priority within valid range of it. "," delimiter
476		is necessary in between I/O class and priority number.
477
478What:		/sys/fs/f2fs/<disk>/ovp_segments
479Date:		March 2021
480Contact:	"Jaegeuk Kim" <jaegeuk@kernel.org>
481Description:	Shows the number of overprovision segments.
482
483What:		/sys/fs/f2fs/<disk>/compr_written_block
484Date:		March 2021
485Contact:	"Daeho Jeong" <daehojeong@google.com>
486Description:	Show the block count written after compression since mount. Note
487		that when the compressed blocks are deleted, this count doesn't
488		decrease. If you write "0" here, you can initialize
489		compr_written_block and compr_saved_block to "0".
490
491What:		/sys/fs/f2fs/<disk>/compr_saved_block
492Date:		March 2021
493Contact:	"Daeho Jeong" <daehojeong@google.com>
494Description:	Show the saved block count with compression since mount. Note
495		that when the compressed blocks are deleted, this count doesn't
496		decrease. If you write "0" here, you can initialize
497		compr_written_block and compr_saved_block to "0".
498
499What:		/sys/fs/f2fs/<disk>/compr_new_inode
500Date:		March 2021
501Contact:	"Daeho Jeong" <daehojeong@google.com>
502Description:	Show the count of inode newly enabled for compression since mount.
503		Note that when the compression is disabled for the files, this count
504		doesn't decrease. If you write "0" here, you can initialize
505		compr_new_inode to "0".
506
507What:		/sys/fs/f2fs/<disk>/atgc_candidate_ratio
508Date:		May 2021
509Contact:	"Chao Yu" <yuchao0@huawei.com>
510Description:	When ATGC is on, it controls candidate ratio in order to limit total
511		number of potential victim in all candidates, the value should be in
512		range of [0, 100], by default it was initialized as 20(%).
513
514What:		/sys/fs/f2fs/<disk>/atgc_candidate_count
515Date:		May 2021
516Contact:	"Chao Yu" <yuchao0@huawei.com>
517Description:	When ATGC is on, it controls candidate count in order to limit total
518		number of potential victim in all candidates, by default it was
519		initialized as 10 (sections).
520
521What:		/sys/fs/f2fs/<disk>/atgc_age_weight
522Date:		May 2021
523Contact:	"Chao Yu" <yuchao0@huawei.com>
524Description:	When ATGC is on, it controls age weight to balance weight proportion
525		in between aging and valid blocks, the value should be in range of
526		[0, 100], by default it was initialized as 60(%).
527
528What:		/sys/fs/f2fs/<disk>/atgc_age_threshold
529Date:		May 2021
530Contact:	"Chao Yu" <yuchao0@huawei.com>
531Description:	When ATGC is on, it controls age threshold to bypass GCing young
532		candidates whose age is not beyond the threshold, by default it was
533		initialized as 604800 seconds (equals to 7 days).
534
535What:		/sys/fs/f2fs/<disk>/gc_reclaimed_segments
536Date:		July 2021
537Contact:	"Daeho Jeong" <daehojeong@google.com>
538Description:	Show how many segments have been reclaimed by GC during a specific
539		GC mode (0: GC normal, 1: GC idle CB, 2: GC idle greedy,
540		3: GC idle AT, 4: GC urgent high, 5: GC urgent low 6: GC urgent mid)
541		You can re-initialize this value to "0".
542
543What:		/sys/fs/f2fs/<disk>/gc_segment_mode
544Date:		July 2021
545Contact:	"Daeho Jeong" <daehojeong@google.com>
546Description:	You can control for which gc mode the "gc_reclaimed_segments" node shows.
547		Refer to the description of the modes in "gc_reclaimed_segments".
548
549What:		/sys/fs/f2fs/<disk>/seq_file_ra_mul
550Date:		July 2021
551Contact:	"Daeho Jeong" <daehojeong@google.com>
552Description:	You can	control the multiplier value of	bdi device readahead window size
553		between 2 (default) and 256 for POSIX_FADV_SEQUENTIAL advise option.
554
555What:		/sys/fs/f2fs/<disk>/max_fragment_chunk
556Date:		August 2021
557Contact:	"Daeho Jeong" <daehojeong@google.com>
558Description:	With "mode=fragment:block" mount options, we can scatter block allocation.
559		f2fs will allocate 1..<max_fragment_chunk> blocks in a chunk and make a hole
560		in the length of 1..<max_fragment_hole> by turns. This value can be set
561		between 1..512 and the default value is 4.
562
563What:		/sys/fs/f2fs/<disk>/max_fragment_hole
564Date:		August 2021
565Contact:	"Daeho Jeong" <daehojeong@google.com>
566Description:	With "mode=fragment:block" mount options, we can scatter block allocation.
567		f2fs will allocate 1..<max_fragment_chunk> blocks in a chunk and make a hole
568		in the length of 1..<max_fragment_hole> by turns. This value can be set
569		between 1..512 and the default value is 4.
570
571What:		/sys/fs/f2fs/<disk>/gc_urgent_high_remaining
572Date:		December 2021
573Contact:	"Daeho Jeong" <daehojeong@google.com>
574Description:	You can set the trial count limit for GC urgent high mode with this value.
575		If GC thread gets to the limit, the mode will turn back to GC normal mode.
576		By default, the value is zero, which means there is no limit like before.
577
578What:		/sys/fs/f2fs/<disk>/max_roll_forward_node_blocks
579Date:		January 2022
580Contact:	"Jaegeuk Kim" <jaegeuk@kernel.org>
581Description:	Controls max # of node block writes to be used for roll forward
582		recovery. This can limit the roll forward recovery time.
583
584What:		/sys/fs/f2fs/<disk>/unusable_blocks_per_sec
585Date:		June 2022
586Contact:	"Jaegeuk Kim" <jaegeuk@kernel.org>
587Description:	Shows the number of unusable blocks in a section which was defined by
588		the zone capacity reported by underlying zoned device.
589
590What:		/sys/fs/f2fs/<disk>/current_atomic_write
591Date:		July 2022
592Contact:	"Daeho Jeong" <daehojeong@google.com>
593Description:	Show the total current atomic write block count, which is not committed yet.
594		This is a read-only entry.
595
596What:		/sys/fs/f2fs/<disk>/peak_atomic_write
597Date:		July 2022
598Contact:	"Daeho Jeong" <daehojeong@google.com>
599Description:	Show the peak value of total current atomic write block count after boot.
600		If you write "0" here, you can initialize to "0".
601
602What:		/sys/fs/f2fs/<disk>/committed_atomic_block
603Date:		July 2022
604Contact:	"Daeho Jeong" <daehojeong@google.com>
605Description:	Show the accumulated total committed atomic write block count after boot.
606		If you write "0" here, you can initialize to "0".
607
608What:		/sys/fs/f2fs/<disk>/revoked_atomic_block
609Date:		July 2022
610Contact:	"Daeho Jeong" <daehojeong@google.com>
611Description:	Show the accumulated total revoked atomic write block count after boot.
612		If you write "0" here, you can initialize to "0".
613