xref: /linux/Documentation/ABI/testing/sysfs-fs-f2fs (revision f5fa7c8bb6307624b2177dfedc67da8dbc3a7a52)
1b59d0baeSNamjae JeonWhat:		/sys/fs/f2fs/<disk>/gc_max_sleep_time
2b59d0baeSNamjae JeonDate:		July 2013
3b59d0baeSNamjae JeonContact:	"Namjae Jeon" <namjae.jeon@samsung.com>
4*f5fa7c8bSHridya ValsarajuDescription:	Controls the maximum sleep time for gc_thread. Time
5b59d0baeSNamjae Jeon		is in milliseconds.
6b59d0baeSNamjae Jeon
7b59d0baeSNamjae JeonWhat:		/sys/fs/f2fs/<disk>/gc_min_sleep_time
8b59d0baeSNamjae JeonDate:		July 2013
9b59d0baeSNamjae JeonContact:	"Namjae Jeon" <namjae.jeon@samsung.com>
10*f5fa7c8bSHridya ValsarajuDescription:	Controls the minimum sleep time for gc_thread. Time
11b59d0baeSNamjae Jeon		is in milliseconds.
12b59d0baeSNamjae Jeon
13b59d0baeSNamjae JeonWhat:		/sys/fs/f2fs/<disk>/gc_no_gc_sleep_time
14b59d0baeSNamjae JeonDate:		July 2013
15b59d0baeSNamjae JeonContact:	"Namjae Jeon" <namjae.jeon@samsung.com>
16*f5fa7c8bSHridya ValsarajuDescription:	Controls the default sleep time for gc_thread. Time
17b59d0baeSNamjae Jeon		is in milliseconds.
18d2dc095fSNamjae Jeon
19d2dc095fSNamjae JeonWhat:		/sys/fs/f2fs/<disk>/gc_idle
20d2dc095fSNamjae JeonDate:		July 2013
21d2dc095fSNamjae JeonContact:	"Namjae Jeon" <namjae.jeon@samsung.com>
22*f5fa7c8bSHridya ValsarajuDescription:	Controls the victim selection policy for garbage collection.
23*f5fa7c8bSHridya Valsaraju		Setting gc_idle = 0(default) will disable this option. Setting
24*f5fa7c8bSHridya Valsaraju		gc_idle = 1 will select the Cost Benefit approach & setting
25*f5fa7c8bSHridya Valsaraju		gc_idle = 2 will select the greedy approach.
263bac380cSJaegeuk Kim
273bac380cSJaegeuk KimWhat:		/sys/fs/f2fs/<disk>/reclaim_segments
283bac380cSJaegeuk KimDate:		October 2013
293bac380cSJaegeuk KimContact:	"Jaegeuk Kim" <jaegeuk.kim@samsung.com>
30*f5fa7c8bSHridya ValsarajuDescription:	This parameter controls the number of prefree segments to be
31*f5fa7c8bSHridya Valsaraju		reclaimed. If the number of prefree segments is larger than
32*f5fa7c8bSHridya Valsaraju		the number of segments in the proportion to the percentage
33*f5fa7c8bSHridya Valsaraju		over total volume size, f2fs tries to conduct checkpoint to
34*f5fa7c8bSHridya Valsaraju		reclaim the prefree segments to free segments.
35*f5fa7c8bSHridya Valsaraju		By default, 5% over total # of segments.
363bac380cSJaegeuk Kim
37*f5fa7c8bSHridya ValsarajuWhat:		/sys/fs/f2fs/<disk>/main_blkaddr
38a4db59acSJaegeuk KimDate:		November 2019
39a4db59acSJaegeuk KimContact:	"Ramon Pantin" <pantin@google.com>
40a4db59acSJaegeuk KimDescription:
41a4db59acSJaegeuk Kim		 Shows first block address of MAIN area.
42a4db59acSJaegeuk Kim
433bac380cSJaegeuk KimWhat:		/sys/fs/f2fs/<disk>/ipu_policy
443bac380cSJaegeuk KimDate:		November 2013
453bac380cSJaegeuk KimContact:	"Jaegeuk Kim" <jaegeuk.kim@samsung.com>
46*f5fa7c8bSHridya ValsarajuDescription:	Controls the in-place-update policy.
47*f5fa7c8bSHridya Valsaraju		updates in f2fs. User can set:
48*f5fa7c8bSHridya Valsaraju		0x01: F2FS_IPU_FORCE, 0x02: F2FS_IPU_SSR,
49*f5fa7c8bSHridya Valsaraju		0x04: F2FS_IPU_UTIL,  0x08: F2FS_IPU_SSR_UTIL,
50*f5fa7c8bSHridya Valsaraju		0x10: F2FS_IPU_FSYNC, 0x20: F2FS_IPU_ASYNC,
51*f5fa7c8bSHridya Valsaraju		0x40: F2FS_IPU_NOCACHE.
52*f5fa7c8bSHridya Valsaraju		Refer segment.h for details.
533bac380cSJaegeuk Kim
543bac380cSJaegeuk KimWhat:		/sys/fs/f2fs/<disk>/min_ipu_util
553bac380cSJaegeuk KimDate:		November 2013
563bac380cSJaegeuk KimContact:	"Jaegeuk Kim" <jaegeuk.kim@samsung.com>
57*f5fa7c8bSHridya ValsarajuDescription:	Controls the FS utilization condition for the in-place-update
58*f5fa7c8bSHridya Valsaraju		policies. It is used by F2FS_IPU_UTIL and F2FS_IPU_SSR_UTIL policies.
593bac380cSJaegeuk Kim
60c1ce1b02SJaegeuk KimWhat:		/sys/fs/f2fs/<disk>/min_fsync_blocks
61c1ce1b02SJaegeuk KimDate:		September 2014
62c1ce1b02SJaegeuk KimContact:	"Jaegeuk Kim" <jaegeuk@kernel.org>
63*f5fa7c8bSHridya ValsarajuDescription:	Controls the dirty page count condition for the in-place-update
64c1ce1b02SJaegeuk Kim		policies.
65c1ce1b02SJaegeuk Kim
66853137ceSJaegeuk KimWhat:		/sys/fs/f2fs/<disk>/min_seq_blocks
67853137ceSJaegeuk KimDate:		August 2018
68853137ceSJaegeuk KimContact:	"Jaegeuk Kim" <jaegeuk@kernel.org>
69*f5fa7c8bSHridya ValsarajuDescription:	Controls the dirty page count condition for batched sequential
70*f5fa7c8bSHridya Valsaraju		writes in writepages.
71853137ceSJaegeuk Kim
72b32d73abSChao YuWhat:		/sys/fs/f2fs/<disk>/min_hot_blocks
73b32d73abSChao YuDate:		March 2017
74b32d73abSChao YuContact:	"Jaegeuk Kim" <jaegeuk@kernel.org>
75*f5fa7c8bSHridya ValsarajuDescription:	Controls the dirty page count condition for redefining hot data.
76b32d73abSChao Yu
77a2a12b67SChao YuWhat:		/sys/fs/f2fs/<disk>/min_ssr_sections
78a2a12b67SChao YuDate:		October 2017
79a2a12b67SChao YuContact:	"Chao Yu" <yuchao0@huawei.com>
80*f5fa7c8bSHridya ValsarajuDescription:	Controls the free section threshold to trigger SSR allocation.
81*f5fa7c8bSHridya Valsaraju		If this is large, SSR mode will be enabled early.
82a2a12b67SChao Yu
833bac380cSJaegeuk KimWhat:		/sys/fs/f2fs/<disk>/max_small_discards
843bac380cSJaegeuk KimDate:		November 2013
853bac380cSJaegeuk KimContact:	"Jaegeuk Kim" <jaegeuk.kim@samsung.com>
86*f5fa7c8bSHridya ValsarajuDescription:	Controls the issue rate of discard commands that consist of small
87*f5fa7c8bSHridya Valsaraju		blocks less than 2MB. The candidates to be discarded are cached until
88*f5fa7c8bSHridya Valsaraju		checkpoint is triggered, and issued during the checkpoint.
89*f5fa7c8bSHridya Valsaraju		By default, it is disabled with 0.
903bac380cSJaegeuk Kim
91969d1b18SChao YuWhat:		/sys/fs/f2fs/<disk>/discard_granularity
92969d1b18SChao YuDate:		July 2017
93969d1b18SChao YuContact:	"Chao Yu" <yuchao0@huawei.com>
94*f5fa7c8bSHridya ValsarajuDescription:	Controls discard granularity of inner discard thread. Inner thread
95969d1b18SChao Yu		will not issue discards with size that is smaller than granularity.
96*f5fa7c8bSHridya Valsaraju		The unit size is one block(4KB), now only support configuring
97*f5fa7c8bSHridya Valsaraju		in range of [1, 512]. Default value is 4(=16KB).
98969d1b18SChao Yu
9903f2c02dSJaegeuk KimWhat:		/sys/fs/f2fs/<disk>/umount_discard_timeout
10003f2c02dSJaegeuk KimDate:		January 2019
10103f2c02dSJaegeuk KimContact:	"Jaegeuk Kim" <jaegeuk@kernel.org>
102*f5fa7c8bSHridya ValsarajuDescription:	Set timeout to issue discard commands during umount.
10303f2c02dSJaegeuk Kim	        Default: 5 secs
10403f2c02dSJaegeuk Kim
1053bac380cSJaegeuk KimWhat:		/sys/fs/f2fs/<disk>/max_victim_search
1063bac380cSJaegeuk KimDate:		January 2014
1073bac380cSJaegeuk KimContact:	"Jaegeuk Kim" <jaegeuk.kim@samsung.com>
108*f5fa7c8bSHridya ValsarajuDescription:	Controls the number of trials to find a victim segment
109*f5fa7c8bSHridya Valsaraju		when conducting SSR and cleaning operations. The default value
110*f5fa7c8bSHridya Valsaraju		is 4096 which covers 8GB block address range.
111cdfc41c1SJaegeuk Kim
11234655575SChao YuWhat:		/sys/fs/f2fs/<disk>/migration_granularity
11334655575SChao YuDate:		October 2018
11434655575SChao YuContact:	"Chao Yu" <yuchao0@huawei.com>
115*f5fa7c8bSHridya ValsarajuDescription:	Controls migration granularity of garbage collection on large
11634655575SChao Yu		section, it can let GC move partial segment{s} of one section
11734655575SChao Yu		in one GC cycle, so that dispersing heavy overhead GC to
11834655575SChao Yu		multiple lightweight one.
11934655575SChao Yu
12091796825SJaegeuk KimWhat:		/sys/fs/f2fs/<disk>/dir_level
12191796825SJaegeuk KimDate:		March 2014
12291796825SJaegeuk KimContact:	"Jaegeuk Kim" <jaegeuk.kim@samsung.com>
123*f5fa7c8bSHridya ValsarajuDescription:	Controls the directory level for large directory. If a
124*f5fa7c8bSHridya Valsaraju		directory has a number of files, it can reduce the file lookup
125*f5fa7c8bSHridya Valsaraju		latency by increasing this dir_level value. Otherwise, it
126*f5fa7c8bSHridya Valsaraju		needs to decrease this value to reduce the space overhead.
127*f5fa7c8bSHridya Valsaraju		The default value is 0.
12891796825SJaegeuk Kim
129cdfc41c1SJaegeuk KimWhat:		/sys/fs/f2fs/<disk>/ram_thresh
130cdfc41c1SJaegeuk KimDate:		March 2014
131cdfc41c1SJaegeuk KimContact:	"Jaegeuk Kim" <jaegeuk.kim@samsung.com>
132*f5fa7c8bSHridya ValsarajuDescription:	Controls the memory footprint used by free nids and cached
133*f5fa7c8bSHridya Valsaraju		nat entries. By default, 1 is set, which indicates
134*f5fa7c8bSHridya Valsaraju		10 MB / 1 GB RAM.
135bba681cbSJaegeuk Kim
1366f6d9fe2SChao YuWhat:		/sys/fs/f2fs/<disk>/batched_trim_sections
137bba681cbSJaegeuk KimDate:		February 2015
138bba681cbSJaegeuk KimContact:	"Jaegeuk Kim" <jaegeuk@kernel.org>
139*f5fa7c8bSHridya ValsarajuDescription:	Controls the trimming rate in batch mode.
140377224c4SChao Yu		<deprecated>
14160b99b48SJaegeuk Kim
14260b99b48SJaegeuk KimWhat:		/sys/fs/f2fs/<disk>/cp_interval
14360b99b48SJaegeuk KimDate:		October 2015
14460b99b48SJaegeuk KimContact:	"Jaegeuk Kim" <jaegeuk@kernel.org>
145*f5fa7c8bSHridya ValsarajuDescription:	Controls the checkpoint timing, set to 60 seconds by default.
146ea1a29a0SChao Yu
147d0239e1bSJaegeuk KimWhat:		/sys/fs/f2fs/<disk>/idle_interval
148d0239e1bSJaegeuk KimDate:		January 2016
149d0239e1bSJaegeuk KimContact:	"Jaegeuk Kim" <jaegeuk@kernel.org>
150*f5fa7c8bSHridya ValsarajuDescription:	Controls the idle timing of system, if there is no FS operation
151*f5fa7c8bSHridya Valsaraju		during given interval.
152*f5fa7c8bSHridya Valsaraju		Set to 5 seconds by default.
153a7d10cf3SSahitya Tummala
154a7d10cf3SSahitya TummalaWhat:		/sys/fs/f2fs/<disk>/discard_idle_interval
155a7d10cf3SSahitya TummalaDate:		September 2018
156a7d10cf3SSahitya TummalaContact:	"Chao Yu" <yuchao0@huawei.com>
157a7d10cf3SSahitya TummalaContact:	"Sahitya Tummala" <stummala@codeaurora.org>
158*f5fa7c8bSHridya ValsarajuDescription:	Controls the idle timing of discard thread given
159*f5fa7c8bSHridya Valsaraju		this time interval.
160*f5fa7c8bSHridya Valsaraju		Default is 5 secs.
161a7d10cf3SSahitya Tummala
162a7d10cf3SSahitya TummalaWhat:		/sys/fs/f2fs/<disk>/gc_idle_interval
163a7d10cf3SSahitya TummalaDate:		September 2018
164a7d10cf3SSahitya TummalaContact:	"Chao Yu" <yuchao0@huawei.com>
165a7d10cf3SSahitya TummalaContact:	"Sahitya Tummala" <stummala@codeaurora.org>
166*f5fa7c8bSHridya ValsarajuDescription:    Controls the idle timing for gc path. Set to 5 seconds by default.
167d0239e1bSJaegeuk Kim
168b32d73abSChao YuWhat:		/sys/fs/f2fs/<disk>/iostat_enable
169b32d73abSChao YuDate:		August 2017
170b32d73abSChao YuContact:	"Chao Yu" <yuchao0@huawei.com>
171*f5fa7c8bSHridya ValsarajuDescription:	Controls to enable/disable IO stat.
172b32d73abSChao Yu
173ea1a29a0SChao YuWhat:		/sys/fs/f2fs/<disk>/ra_nid_pages
174ea1a29a0SChao YuDate:		October 2015
175ea1a29a0SChao YuContact:	"Chao Yu" <chao2.yu@samsung.com>
176*f5fa7c8bSHridya ValsarajuDescription:	Controls the count of nid pages to be readaheaded.
177*f5fa7c8bSHridya Valsaraju		When building free nids, F2FS reads NAT blocks ahead for
178*f5fa7c8bSHridya Valsaraju		speed up. Default is 0.
1792304cb0cSChao Yu
1802304cb0cSChao YuWhat:		/sys/fs/f2fs/<disk>/dirty_nats_ratio
1812304cb0cSChao YuDate:		January 2016
1822304cb0cSChao YuContact:	"Chao Yu" <chao2.yu@samsung.com>
183*f5fa7c8bSHridya ValsarajuDescription:	Controls dirty nat entries ratio threshold, if current
1842304cb0cSChao Yu		ratio exceeds configured threshold, checkpoint will
1852304cb0cSChao Yu		be triggered for flushing dirty nat entries.
1868f1dbbbbSShuoran Liu
1878f1dbbbbSShuoran LiuWhat:		/sys/fs/f2fs/<disk>/lifetime_write_kbytes
1888f1dbbbbSShuoran LiuDate:		January 2016
1898f1dbbbbSShuoran LiuContact:	"Shuoran Liu" <liushuoran@huawei.com>
190*f5fa7c8bSHridya ValsarajuDescription:	Shows total written kbytes issued to disk.
19156412894SChao Yu
1929ac19faaSEric BiggersWhat:		/sys/fs/f2fs/<disk>/features
193b32d73abSChao YuDate:		July 2017
194b32d73abSChao YuContact:	"Jaegeuk Kim" <jaegeuk@kernel.org>
195*f5fa7c8bSHridya ValsarajuDescription:	Shows all enabled features in current device.
196b32d73abSChao Yu
19756412894SChao YuWhat:		/sys/fs/f2fs/<disk>/inject_rate
19856412894SChao YuDate:		May 2016
19956412894SChao YuContact:	"Sheng Yong" <shengyong1@huawei.com>
200*f5fa7c8bSHridya ValsarajuDescription:	Controls the injection rate of arbitrary faults.
20156412894SChao Yu
20256412894SChao YuWhat:		/sys/fs/f2fs/<disk>/inject_type
20356412894SChao YuDate:		May 2016
20456412894SChao YuContact:	"Sheng Yong" <shengyong1@huawei.com>
205*f5fa7c8bSHridya ValsarajuDescription:	Controls the injection type of arbitrary faults.
206*f5fa7c8bSHridya Valsaraju
207*f5fa7c8bSHridya ValsarajuWhat:		/sys/fs/f2fs/<disk>/dirty_segments
208*f5fa7c8bSHridya ValsarajuDate:		October 2017
209*f5fa7c8bSHridya ValsarajuContact:	"Jaegeuk Kim" <jaegeuk@kernel.org>
210*f5fa7c8bSHridya ValsarajuDescription:	Shows the number of dirty segments.
211daeb433eSChao Yu
212daeb433eSChao YuWhat:		/sys/fs/f2fs/<disk>/reserved_blocks
213daeb433eSChao YuDate:		June 2017
214daeb433eSChao YuContact:	"Chao Yu" <yuchao0@huawei.com>
215*f5fa7c8bSHridya ValsarajuDescription:	Controls target reserved blocks in system, the threshold
21680d42145SYunlong Song		is soft, it could exceed current available user space.
21780d42145SYunlong Song
21880d42145SYunlong SongWhat:		/sys/fs/f2fs/<disk>/current_reserved_blocks
21980d42145SYunlong SongDate:		October 2017
22080d42145SYunlong SongContact:	"Yunlong Song" <yunlong.song@huawei.com>
22180d42145SYunlong SongContact:	"Chao Yu" <yuchao0@huawei.com>
222*f5fa7c8bSHridya ValsarajuDescription:	Shows current reserved blocks in system, it may be temporarily
22380d42145SYunlong Song		smaller than target_reserved_blocks, but will gradually
22480d42145SYunlong Song		increase to target_reserved_blocks when more free blocks are
22580d42145SYunlong Song		freed by user later.
226d9872a69SJaegeuk Kim
227d9872a69SJaegeuk KimWhat:		/sys/fs/f2fs/<disk>/gc_urgent
228d9872a69SJaegeuk KimDate:		August 2017
229d9872a69SJaegeuk KimContact:	"Jaegeuk Kim" <jaegeuk@kernel.org>
230*f5fa7c8bSHridya ValsarajuDescription:	Do background GC agressively when set. When gc_urgent = 1,
231*f5fa7c8bSHridya Valsaraju		background thread starts to do GC by given gc_urgent_sleep_time
232*f5fa7c8bSHridya Valsaraju		interval. It is set to 0 by default.
233d9872a69SJaegeuk Kim
234d9872a69SJaegeuk KimWhat:		/sys/fs/f2fs/<disk>/gc_urgent_sleep_time
235d9872a69SJaegeuk KimDate:		August 2017
236d9872a69SJaegeuk KimContact:	"Jaegeuk Kim" <jaegeuk@kernel.org>
237*f5fa7c8bSHridya ValsarajuDescription:	Controls sleep time of GC urgent mode. Set to 500ms by default.
238f6df8f23SSheng Yong
239f6df8f23SSheng YongWhat:		/sys/fs/f2fs/<disk>/readdir_ra
240f6df8f23SSheng YongDate:		November 2017
241f6df8f23SSheng YongContact:	"Sheng Yong" <shengyong1@huawei.com>
242*f5fa7c8bSHridya ValsarajuDescription:	Controls readahead inode block in readdir. Enabled by default.
243*f5fa7c8bSHridya Valsaraju
244*f5fa7c8bSHridya ValsarajuWhat:		/sys/fs/f2fs/<disk>/gc_pin_file_thresh
245*f5fa7c8bSHridya ValsarajuDate:		January 2018
246*f5fa7c8bSHridya ValsarajuContact:	Jaegeuk Kim <jaegeuk@kernel.org>
247*f5fa7c8bSHridya ValsarajuDescription:	This indicates how many GC can be failed for the pinned
248*f5fa7c8bSHridya Valsaraju		file. If it exceeds this, F2FS doesn't guarantee its pinning
249*f5fa7c8bSHridya Valsaraju		state. 2048 trials is set by default.
250846ae671SChao Yu
251846ae671SChao YuWhat:		/sys/fs/f2fs/<disk>/extension_list
252846ae671SChao YuDate:		Feburary 2018
253846ae671SChao YuContact:	"Chao Yu" <yuchao0@huawei.com>
254*f5fa7c8bSHridya ValsarajuDescription:	Used to control configure extension list:
255846ae671SChao Yu		- Query: cat /sys/fs/f2fs/<disk>/extension_list
256b6a06cbbSChao Yu		- Add: echo '[h/c]extension' > /sys/fs/f2fs/<disk>/extension_list
257b6a06cbbSChao Yu		- Del: echo '[h/c]!extension' > /sys/fs/f2fs/<disk>/extension_list
258b6a06cbbSChao Yu		- [h] means add/del hot file extension
259b6a06cbbSChao Yu		- [c] means add/del cold file extension
2604d3aed70SDaniel Rosenberg
2614d3aed70SDaniel RosenbergWhat:		/sys/fs/f2fs/<disk>/unusable
2624d3aed70SDaniel RosenbergDate		April 2019
2634d3aed70SDaniel RosenbergContact:	"Daniel Rosenberg" <drosen@google.com>
264*f5fa7c8bSHridya ValsarajuDescription:	If checkpoint=disable, it displays the number of blocks that
265*f5fa7c8bSHridya Valsaraju		are unusable.
266*f5fa7c8bSHridya Valsaraju		If checkpoint=enable it displays the enumber of blocks that
267*f5fa7c8bSHridya Valsaraju		would be unusable if checkpoint=disable were to be set.
2685aba5430SDaniel Rosenberg
2695aba5430SDaniel RosenbergWhat:		/sys/fs/f2fs/<disk>/encoding
2705aba5430SDaniel RosenbergDate		July 2019
2715aba5430SDaniel RosenbergContact:	"Daniel Rosenberg" <drosen@google.com>
272*f5fa7c8bSHridya ValsarajuDescription:	Displays name and version of the encoding set for the filesystem.
2735aba5430SDaniel Rosenberg		If no encoding is set, displays (none)
274