← Documents Documentation/ABI/testing/sysfs-fs-f2fs GitHub 원문 ↗

Linux 6.18.37 · ABI / testing

F2FS filesystem sysfs ABI

F2FS garbage collection, discard, allocation, checkpoint, compression, fault injection, atomic writes와 zoned·multi-device policies의 116개 sysfs ABI를 설명합니다.

Source pathDocumentation/ABI/testing/sysfs-fs-f2fs
Source versionLinux v6.18.37
TranslationDUJINLABS 전문 번역 + 해설

요약·해설과 원문, 전문 번역을 서로 분리했습니다. API 이름, symbol, source path는 원문 표기를 사용합니다.

1. 요약·해설

원문의 핵심 논리와 kernel programming 관점의 보충 설명입니다. 아래의 전문 번역과는 별도로 작성했습니다.

Garbage collection and discard

sysfs-fs-f2fs:1-242

GC sleep·victim·migration policies와 IPU, discard granularity·batch·timing, checkpoint·NAT memory tuning을 다룹니다.

Features, accounting and I/O flags

sysfs-fs-f2fs:243-503

On-disk·kernel feature discovery, urgent GC, filesystem counters, temperature-based I/O flags와 live superblock·checkpoint status를 제공합니다.

Compression, ATGC and atomic writes

sysfs-fs-f2fs:504-683

Discard statistics, checkpoint daemon priority, compression savings, ATGC victim controls, fragmented allocation과 atomic-write counters를 설명합니다.

Fault injection, zoned storage and multi-device policy

sysfs-fs-f2fs:684-935

Data-age separation, comprehensive fault-injection bitmasks, compression cache limits, zoned GC·allocation과 multi-device write priority를 다룹니다.

2. 영어 원문 전체

번역 기준이 된 Linux v6.18.37 원문입니다. 줄 번호는 이 버전의 파일 좌표입니다.

원문 전체 펼치기
1 What: /sys/fs/f2fs/<disk>/gc_max_sleep_time
2 Date: July 2013
3 Contact: "Namjae Jeon" <[email protected]>
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" <[email protected]>
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" <[email protected]>
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" <[email protected]>
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" <[email protected]>
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" <[email protected]>
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" <[email protected]>
49 Description: Controls the in-place-update policy.
50 updates in f2fs. User can set:
51
52 ===== =============== ===================================================
53 value policy description
54 0x00 DISABLE disable IPU(=default option in LFS mode)
55 0x01 FORCE all the time
56 0x02 SSR if SSR mode is activated
57 0x04 UTIL if FS utilization is over threshold
58 0x08 SSR_UTIL if SSR mode is activated and FS utilization is over
59 threshold
60 0x10 FSYNC activated in fsync path only for high performance
61 flash storages. IPU will be triggered only if the
62 # of dirty pages over min_fsync_blocks.
63 (=default option)
64 0x20 ASYNC do IPU given by asynchronous write requests
65 0x40 NOCACHE disable IPU bio cache
66 0x80 HONOR_OPU_WRITE use OPU write prior to IPU write if inode has
67 FI_OPU_WRITE flag
68 ===== =============== ===================================================
69
70 Refer segment.h for details.
71
72 What: /sys/fs/f2fs/<disk>/min_ipu_util
73 Date: November 2013
74 Contact: "Jaegeuk Kim" <[email protected]>
75 Description: Controls the FS utilization condition for the in-place-update
76 policies. It is used by F2FS_IPU_UTIL and F2FS_IPU_SSR_UTIL policies.
77
78 What: /sys/fs/f2fs/<disk>/min_fsync_blocks
79 Date: September 2014
80 Contact: "Jaegeuk Kim" <[email protected]>
81 Description: Controls the dirty page count condition for the in-place-update
82 policies.
83
84 What: /sys/fs/f2fs/<disk>/min_seq_blocks
85 Date: August 2018
86 Contact: "Jaegeuk Kim" <[email protected]>
87 Description: Controls the dirty page count condition for batched sequential
88 writes in writepages.
89
90 What: /sys/fs/f2fs/<disk>/min_hot_blocks
91 Date: March 2017
92 Contact: "Jaegeuk Kim" <[email protected]>
93 Description: Controls the dirty page count condition for redefining hot data.
94
95 What: /sys/fs/f2fs/<disk>/min_ssr_sections
96 Date: October 2017
97 Contact: "Chao Yu" <[email protected]>
98 Description: Controls the free section threshold to trigger SSR allocation.
99 If this is large, SSR mode will be enabled early.
100
101 What: /sys/fs/f2fs/<disk>/max_small_discards
102 Date: November 2013
103 Contact: "Jaegeuk Kim" <[email protected]>
104 Description: Controls the issue rate of discard commands that consist of small
105 blocks less than 2MB. The candidates to be discarded are cached during
106 checkpoint, and issued by issue_discard thread after checkpoint.
107 It is enabled by default.
108
109 What: /sys/fs/f2fs/<disk>/max_ordered_discard
110 Date: October 2022
111 Contact: "Yangtao Li" <[email protected]>
112 Description: Controls the maximum ordered discard, the unit size is one block(4KB).
113 Set it to 16 by default.
114
115 What: /sys/fs/f2fs/<disk>/max_discard_request
116 Date: December 2021
117 Contact: "Konstantin Vyshetsky" <[email protected]>
118 Description: Controls the number of discards a thread will issue at a time.
119 Higher number will allow the discard thread to finish its work
120 faster, at the cost of higher latency for incoming I/O.
121
122 What: /sys/fs/f2fs/<disk>/min_discard_issue_time
123 Date: December 2021
124 Contact: "Konstantin Vyshetsky" <[email protected]>
125 Description: Controls the interval the discard thread will wait between
126 issuing discard requests when there are discards to be issued and
127 no I/O aware interruptions occur.
128
129 What: /sys/fs/f2fs/<disk>/mid_discard_issue_time
130 Date: December 2021
131 Contact: "Konstantin Vyshetsky" <[email protected]>
132 Description: Controls the interval the discard thread will wait between
133 issuing discard requests when there are discards to be issued and
134 an I/O aware interruption occurs.
135
136 What: /sys/fs/f2fs/<disk>/max_discard_issue_time
137 Date: December 2021
138 Contact: "Konstantin Vyshetsky" <[email protected]>
139 Description: Controls the interval the discard thread will wait when there are
140 no discard operations to be issued.
141
142 What: /sys/fs/f2fs/<disk>/discard_granularity
143 Date: July 2017
144 Contact: "Chao Yu" <[email protected]>
145 Description: Controls discard granularity of inner discard thread. Inner thread
146 will not issue discards with size that is smaller than granularity.
147 The unit size is one block(4KB), now only support configuring
148 in range of [1, 512]. Default value is 16.
149 For small devices, default value is 1.
150
151 What: /sys/fs/f2fs/<disk>/umount_discard_timeout
152 Date: January 2019
153 Contact: "Jaegeuk Kim" <[email protected]>
154 Description: Set timeout to issue discard commands during umount.
155 Default: 5 secs
156
157 What: /sys/fs/f2fs/<disk>/pending_discard
158 Date: November 2021
159 Contact: "Jaegeuk Kim" <[email protected]>
160 Description: Shows the number of pending discard commands in the queue.
161
162 What: /sys/fs/f2fs/<disk>/max_victim_search
163 Date: January 2014
164 Contact: "Jaegeuk Kim" <[email protected]>
165 Description: Controls the number of trials to find a victim segment
166 when conducting SSR and cleaning operations. The default value
167 is 4096 which covers 8GB block address range.
168
169 What: /sys/fs/f2fs/<disk>/migration_granularity
170 Date: October 2018
171 Contact: "Chao Yu" <[email protected]>
172 Description: Controls migration granularity of garbage collection on large
173 section, it can let GC move partial segment{s} of one section
174 in one GC cycle, so that dispersing heavy overhead GC to
175 multiple lightweight one.
176
177 What: /sys/fs/f2fs/<disk>/dir_level
178 Date: March 2014
179 Contact: "Jaegeuk Kim" <[email protected]>
180 Description: Controls the directory level for large directory. If a
181 directory has a number of files, it can reduce the file lookup
182 latency by increasing this dir_level value. Otherwise, it
183 needs to decrease this value to reduce the space overhead.
184 The default value is 0.
185
186 What: /sys/fs/f2fs/<disk>/ram_thresh
187 Date: March 2014
188 Contact: "Jaegeuk Kim" <[email protected]>
189 Description: Controls the memory footprint used by free nids and cached
190 nat entries. By default, 1 is set, which indicates
191 10 MB / 1 GB RAM.
192
193 What: /sys/fs/f2fs/<disk>/cp_interval
194 Date: October 2015
195 Contact: "Jaegeuk Kim" <[email protected]>
196 Description: Controls the checkpoint timing, set to 60 seconds by default.
197
198 What: /sys/fs/f2fs/<disk>/idle_interval
199 Date: January 2016
200 Contact: "Jaegeuk Kim" <[email protected]>
201 Description: Controls the idle timing of system, if there is no FS operation
202 during given interval.
203 Set to 5 seconds by default.
204
205 What: /sys/fs/f2fs/<disk>/discard_idle_interval
206 Date: September 2018
207 Contact: "Chao Yu" <[email protected]>
208 Contact: "Sahitya Tummala" <[email protected]>
209 Description: Controls the idle timing of discard thread given
210 this time interval.
211 Default is 5 secs.
212
213 What: /sys/fs/f2fs/<disk>/gc_idle_interval
214 Date: September 2018
215 Contact: "Chao Yu" <[email protected]>
216 Contact: "Sahitya Tummala" <[email protected]>
217 Description: Controls the idle timing for gc path. Set to 5 seconds by default.
218
219 What: /sys/fs/f2fs/<disk>/iostat_enable
220 Date: August 2017
221 Contact: "Chao Yu" <[email protected]>
222 Description: Controls to enable/disable IO stat.
223
224 What: /sys/fs/f2fs/<disk>/ra_nid_pages
225 Date: October 2015
226 Contact: "Chao Yu" <[email protected]>
227 Description: Controls the count of nid pages to be readaheaded.
228 When building free nids, F2FS reads NAT blocks ahead for
229 speed up. Default is 0.
230
231 What: /sys/fs/f2fs/<disk>/dirty_nats_ratio
232 Date: January 2016
233 Contact: "Chao Yu" <[email protected]>
234 Description: Controls dirty nat entries ratio threshold, if current
235 ratio exceeds configured threshold, checkpoint will
236 be triggered for flushing dirty nat entries.
237
238 What: /sys/fs/f2fs/<disk>/lifetime_write_kbytes
239 Date: January 2016
240 Contact: "Shuoran Liu" <[email protected]>
241 Description: Shows total written kbytes issued to disk.
242
243 What: /sys/fs/f2fs/<disk>/features
244 Date: July 2017
245 Contact: "Jaegeuk Kim" <[email protected]>
246 Description: <deprecated: should use /sys/fs/f2fs/<disk>/feature_list/>
247 Shows all enabled features in current device.
248 Supported features:
249 encryption, blkzoned, extra_attr, projquota, inode_checksum,
250 flexible_inline_xattr, quota_ino, inode_crtime, lost_found,
251 verity, sb_checksum, casefold, readonly, compression, pin_file.
252
253 What: /sys/fs/f2fs/<disk>/feature_list/
254 Date: June 2021
255 Contact: "Jaegeuk Kim" <[email protected]>
256 Description: Expand /sys/fs/f2fs/<disk>/features to meet sysfs rule.
257 Supported on-disk features:
258 encryption, block_zoned (aka blkzoned), extra_attr,
259 project_quota (aka projquota), inode_checksum,
260 flexible_inline_xattr, quota_ino, inode_crtime, lost_found,
261 verity, sb_checksum, casefold, readonly, compression.
262 Note that, pin_file is moved into /sys/fs/f2fs/features/.
263
264 What: /sys/fs/f2fs/features/
265 Date: July 2017
266 Contact: "Jaegeuk Kim" <[email protected]>
267 Description: Shows all enabled kernel features.
268 Supported features:
269 encryption, block_zoned, extra_attr, project_quota,
270 inode_checksum, flexible_inline_xattr, quota_ino,
271 inode_crtime, lost_found, verity, sb_checksum,
272 casefold, readonly, compression, test_dummy_encryption_v2,
273 atomic_write, pin_file, encrypted_casefold, linear_lookup.
274
275 What: /sys/fs/f2fs/<disk>/inject_rate
276 Date: May 2016
277 Contact: "Sheng Yong" <[email protected]>
278 Description: Controls the injection rate of arbitrary faults.
279
280 What: /sys/fs/f2fs/<disk>/inject_type
281 Date: May 2016
282 Contact: "Sheng Yong" <[email protected]>
283 Description: Controls the injection type of arbitrary faults.
284
285 What: /sys/fs/f2fs/<disk>/dirty_segments
286 Date: October 2017
287 Contact: "Jaegeuk Kim" <[email protected]>
288 Description: Shows the number of dirty segments.
289
290 What: /sys/fs/f2fs/<disk>/reserved_blocks
291 Date: June 2017
292 Contact: "Chao Yu" <[email protected]>
293 Description: Controls target reserved blocks in system, the threshold
294 is soft, it could exceed current available user space.
295
296 What: /sys/fs/f2fs/<disk>/current_reserved_blocks
297 Date: October 2017
298 Contact: "Yunlong Song" <[email protected]>
299 Contact: "Chao Yu" <[email protected]>
300 Description: Shows current reserved blocks in system, it may be temporarily
301 smaller than target_reserved_blocks, but will gradually
302 increase to target_reserved_blocks when more free blocks are
303 freed by user later.
304
305 What: /sys/fs/f2fs/<disk>/gc_urgent
306 Date: August 2017
307 Contact: "Jaegeuk Kim" <[email protected]>
308 Description: Do background GC aggressively when set. Set to 0 by default.
309 gc urgent high(1): does GC forcibly in a period of given
310 gc_urgent_sleep_time and ignores I/O idling check. uses greedy
311 GC approach and turns SSR mode on.
312 gc urgent low(2): lowers the bar of checking I/O idling in
313 order to process outstanding discard commands and GC a
314 little bit aggressively. always uses cost benefit GC approach,
315 and will override age-threshold GC approach if ATGC is enabled
316 at the same time.
317 gc urgent mid(3): does GC forcibly in a period of given
318 gc_urgent_sleep_time and executes a mid level of I/O idling check.
319 always uses cost benefit GC approach, and will override
320 age-threshold GC approach if ATGC is enabled at the same time.
321
322 What: /sys/fs/f2fs/<disk>/gc_urgent_sleep_time
323 Date: August 2017
324 Contact: "Jaegeuk Kim" <[email protected]>
325 Description: Controls sleep time of GC urgent mode. Set to 500ms by default.
326
327 What: /sys/fs/f2fs/<disk>/readdir_ra
328 Date: November 2017
329 Contact: "Sheng Yong" <[email protected]>
330 Description: Controls readahead inode block in readdir. Enabled by default.
331
332 What: /sys/fs/f2fs/<disk>/gc_pin_file_thresh
333 Date: January 2018
334 Contact: Jaegeuk Kim <[email protected]>
335 Description: This indicates how many GC can be failed for the pinned
336 file. If it exceeds this, F2FS doesn't guarantee its pinning
337 state. 2048 trials is set by default, and 65535 as maximum.
338
339 What: /sys/fs/f2fs/<disk>/extension_list
340 Date: February 2018
341 Contact: "Chao Yu" <[email protected]>
342 Description: Used to control configure extension list:
343 - Query: cat /sys/fs/f2fs/<disk>/extension_list
344 - Add: echo '[h/c]extension' > /sys/fs/f2fs/<disk>/extension_list
345 - Del: echo '[h/c]!extension' > /sys/fs/f2fs/<disk>/extension_list
346 - [h] means add/del hot file extension
347 - [c] means add/del cold file extension
348
349 What: /sys/fs/f2fs/<disk>/unusable
350 Date: April 2019
351 Contact: "Daniel Rosenberg" <[email protected]>
352 Description: If checkpoint=disable, it displays the number of blocks that
353 are unusable.
354 If checkpoint=enable it displays the number of blocks that
355 would be unusable if checkpoint=disable were to be set.
356
357 What: /sys/fs/f2fs/<disk>/encoding
358 Date: July 2019
359 Contact: "Daniel Rosenberg" <[email protected]>
360 Description: Displays name and version of the encoding set for the filesystem.
361 If no encoding is set, displays (none)
362
363 What: /sys/fs/f2fs/<disk>/free_segments
364 Date: September 2019
365 Contact: "Hridya Valsaraju" <[email protected]>
366 Description: Number of free segments in disk.
367
368 What: /sys/fs/f2fs/<disk>/cp_foreground_calls
369 Date: September 2019
370 Contact: "Hridya Valsaraju" <[email protected]>
371 Description: Number of checkpoint operations performed on demand. Available when
372 CONFIG_F2FS_STAT_FS=y.
373
374 What: /sys/fs/f2fs/<disk>/cp_background_calls
375 Date: September 2019
376 Contact: "Hridya Valsaraju" <[email protected]>
377 Description: Number of checkpoint operations performed in the background to
378 free segments. Available when CONFIG_F2FS_STAT_FS=y.
379
380 What: /sys/fs/f2fs/<disk>/gc_foreground_calls
381 Date: September 2019
382 Contact: "Hridya Valsaraju" <[email protected]>
383 Description: Number of garbage collection operations performed on demand.
384 Available when CONFIG_F2FS_STAT_FS=y.
385
386 What: /sys/fs/f2fs/<disk>/gc_background_calls
387 Date: September 2019
388 Contact: "Hridya Valsaraju" <[email protected]>
389 Description: Number of garbage collection operations triggered in background.
390 Available when CONFIG_F2FS_STAT_FS=y.
391
392 What: /sys/fs/f2fs/<disk>/moved_blocks_foreground
393 Date: September 2019
394 Contact: "Hridya Valsaraju" <[email protected]>
395 Description: Number of blocks moved by garbage collection in foreground.
396 Available when CONFIG_F2FS_STAT_FS=y.
397
398 What: /sys/fs/f2fs/<disk>/moved_blocks_background
399 Date: September 2019
400 Contact: "Hridya Valsaraju" <[email protected]>
401 Description: Number of blocks moved by garbage collection in background.
402 Available when CONFIG_F2FS_STAT_FS=y.
403
404 What: /sys/fs/f2fs/<disk>/avg_vblocks
405 Date: September 2019
406 Contact: "Hridya Valsaraju" <[email protected]>
407 Description: Average number of valid blocks.
408 Available when CONFIG_F2FS_STAT_FS=y.
409
410 What: /sys/fs/f2fs/<disk>/mounted_time_sec
411 Date: February 2020
412 Contact: "Jaegeuk Kim" <[email protected]>
413 Description: Show the mounted time in secs of this partition.
414
415 What: /sys/fs/f2fs/<disk>/data_io_flag
416 Date: April 2020
417 Contact: "Jaegeuk Kim" <[email protected]>
418 Description: Give a way to attach REQ_META|FUA to data writes
419 given temperature-based bits. Now the bits indicate:
420
421 +-------------------+-------------------+
422 | REQ_META | REQ_FUA |
423 +------+------+-----+------+------+-----+
424 | 5 | 4 | 3 | 2 | 1 | 0 |
425 +------+------+-----+------+------+-----+
426 | Cold | Warm | Hot | Cold | Warm | Hot |
427 +------+------+-----+------+------+-----+
428
429 What: /sys/fs/f2fs/<disk>/node_io_flag
430 Date: June 2020
431 Contact: "Jaegeuk Kim" <[email protected]>
432 Description: Give a way to attach REQ_META|FUA to node writes
433 given temperature-based bits. Now the bits indicate:
434
435 +-------------------+-------------------+
436 | REQ_META | REQ_FUA |
437 +------+------+-----+------+------+-----+
438 | 5 | 4 | 3 | 2 | 1 | 0 |
439 +------+------+-----+------+------+-----+
440 | Cold | Warm | Hot | Cold | Warm | Hot |
441 +------+------+-----+------+------+-----+
442
443 What: /sys/fs/f2fs/<disk>/iostat_period_ms
444 Date: April 2020
445 Contact: "Daeho Jeong" <[email protected]>
446 Description: Give a way to change iostat_period time. 3secs by default.
447 The new iostat trace gives stats gap given the period.
448 What: /sys/fs/f2fs/<disk>/max_io_bytes
449 Date: December 2020
450 Contact: "Jaegeuk Kim" <[email protected]>
451 Description: This gives a control to limit the bio size in f2fs.
452 Default is zero, which will follow underlying block layer limit,
453 whereas, if it has a certain bytes value, f2fs won't submit a
454 bio larger than that size.
455
456 What: /sys/fs/f2fs/<disk>/stat/sb_status
457 Date: December 2020
458 Contact: "Chao Yu" <[email protected]>
459 Description: Show status of f2fs superblock in real time.
460
461 ====== ===================== =================================
462 value sb status macro description
463 0x1 SBI_IS_DIRTY dirty flag for checkpoint
464 0x2 SBI_IS_CLOSE specify unmounting
465 0x4 SBI_NEED_FSCK need fsck.f2fs to fix
466 0x8 SBI_POR_DOING recovery is doing or not
467 0x10 SBI_NEED_SB_WRITE need to recover superblock
468 0x20 SBI_NEED_CP need to checkpoint
469 0x40 SBI_IS_SHUTDOWN shutdown by ioctl
470 0x80 SBI_IS_RECOVERED recovered orphan/data
471 0x100 SBI_CP_DISABLED CP was disabled last mount
472 0x200 SBI_CP_DISABLED_QUICK CP was disabled quickly
473 0x400 SBI_QUOTA_NEED_FLUSH need to flush quota info in CP
474 0x800 SBI_QUOTA_SKIP_FLUSH skip flushing quota in current CP
475 0x1000 SBI_QUOTA_NEED_REPAIR quota file may be corrupted
476 0x2000 SBI_IS_RESIZEFS resizefs is in process
477 0x4000 SBI_IS_FREEZING freefs is in process
478 ====== ===================== =================================
479
480 What: /sys/fs/f2fs/<disk>/stat/cp_status
481 Date: September 2022
482 Contact: "Chao Yu" <[email protected]>
483 Description: Show status of f2fs checkpoint in real time.
484
485 =============================== ==============================
486 cp flag value
487 CP_UMOUNT_FLAG 0x00000001
488 CP_ORPHAN_PRESENT_FLAG 0x00000002
489 CP_COMPACT_SUM_FLAG 0x00000004
490 CP_ERROR_FLAG 0x00000008
491 CP_FSCK_FLAG 0x00000010
492 CP_FASTBOOT_FLAG 0x00000020
493 CP_CRC_RECOVERY_FLAG 0x00000040
494 CP_NAT_BITS_FLAG 0x00000080
495 CP_TRIMMED_FLAG 0x00000100
496 CP_NOCRC_RECOVERY_FLAG 0x00000200
497 CP_LARGE_NAT_BITMAP_FLAG 0x00000400
498 CP_QUOTA_NEED_FSCK_FLAG 0x00000800
499 CP_DISABLED_FLAG 0x00001000
500 CP_DISABLED_QUICK_FLAG 0x00002000
501 CP_RESIZEFS_FLAG 0x00004000
502 =============================== ==============================
503
504 What: /sys/fs/f2fs/<disk>/stat/issued_discard
505 Date: December 2023
506 Contact: "Zhiguo Niu" <[email protected]>
507 Description: Shows the number of issued discard.
508
509 What: /sys/fs/f2fs/<disk>/stat/queued_discard
510 Date: December 2023
511 Contact: "Zhiguo Niu" <[email protected]>
512 Description: Shows the number of queued discard.
513
514 What: /sys/fs/f2fs/<disk>/stat/undiscard_blks
515 Date: December 2023
516 Contact: "Zhiguo Niu" <[email protected]>
517 Description: Shows the total number of undiscard blocks.
518
519 What: /sys/fs/f2fs/<disk>/ckpt_thread_ioprio
520 Date: January 2021
521 Contact: "Daeho Jeong" <[email protected]>
522 Description: Give a way to change checkpoint merge daemon's io priority.
523 Its default value is "be,3", which means "BE" I/O class and
524 I/O priority "3". We can select the class between "rt" and "be",
525 and set the I/O priority within valid range of it. "," delimiter
526 is necessary in between I/O class and priority number.
527
528 What: /sys/fs/f2fs/<disk>/ovp_segments
529 Date: March 2021
530 Contact: "Jaegeuk Kim" <[email protected]>
531 Description: Shows the number of overprovision segments.
532
533 What: /sys/fs/f2fs/<disk>/compr_written_block
534 Date: March 2021
535 Contact: "Daeho Jeong" <[email protected]>
536 Description: Show the block count written after compression since mount. Note
537 that when the compressed blocks are deleted, this count doesn't
538 decrease. If you write "0" here, you can initialize
539 compr_written_block and compr_saved_block to "0".
540
541 What: /sys/fs/f2fs/<disk>/compr_saved_block
542 Date: March 2021
543 Contact: "Daeho Jeong" <[email protected]>
544 Description: Show the saved block count with compression since mount. Note
545 that when the compressed blocks are deleted, this count doesn't
546 decrease. If you write "0" here, you can initialize
547 compr_written_block and compr_saved_block to "0".
548
549 What: /sys/fs/f2fs/<disk>/compr_new_inode
550 Date: March 2021
551 Contact: "Daeho Jeong" <[email protected]>
552 Description: Show the count of inode newly enabled for compression since mount.
553 Note that when the compression is disabled for the files, this count
554 doesn't decrease. If you write "0" here, you can initialize
555 compr_new_inode to "0".
556
557 What: /sys/fs/f2fs/<disk>/atgc_candidate_ratio
558 Date: May 2021
559 Contact: "Chao Yu" <[email protected]>
560 Description: When ATGC is on, it controls candidate ratio in order to limit total
561 number of potential victim in all candidates, the value should be in
562 range of [0, 100], by default it was initialized as 20(%).
563
564 What: /sys/fs/f2fs/<disk>/atgc_candidate_count
565 Date: May 2021
566 Contact: "Chao Yu" <[email protected]>
567 Description: When ATGC is on, it controls candidate count in order to limit total
568 number of potential victim in all candidates, by default it was
569 initialized as 10 (sections).
570
571 What: /sys/fs/f2fs/<disk>/atgc_age_weight
572 Date: May 2021
573 Contact: "Chao Yu" <[email protected]>
574 Description: When ATGC is on, it controls age weight to balance weight proportion
575 in between aging and valid blocks, the value should be in range of
576 [0, 100], by default it was initialized as 60(%).
577
578 What: /sys/fs/f2fs/<disk>/atgc_age_threshold
579 Date: May 2021
580 Contact: "Chao Yu" <[email protected]>
581 Description: When ATGC is on, it controls age threshold to bypass GCing young
582 candidates whose age is not beyond the threshold, by default it was
583 initialized as 604800 seconds (equals to 7 days).
584
585 What: /sys/fs/f2fs/<disk>/atgc_enabled
586 Date: Feb 2024
587 Contact: "Jinbao Liu" <[email protected]>
588 Description: It represents whether ATGC is on or off. The value is 1 which
589 indicates that ATGC is on, and 0 indicates that it is off.
590
591 What: /sys/fs/f2fs/<disk>/gc_reclaimed_segments
592 Date: July 2021
593 Contact: "Daeho Jeong" <[email protected]>
594 Description: Show how many segments have been reclaimed by GC during a specific
595 GC mode (0: GC normal, 1: GC idle CB, 2: GC idle greedy,
596 3: GC idle AT, 4: GC urgent high, 5: GC urgent low 6: GC urgent mid)
597 You can re-initialize this value to "0".
598
599 What: /sys/fs/f2fs/<disk>/gc_segment_mode
600 Date: July 2021
601 Contact: "Daeho Jeong" <[email protected]>
602 Description: You can control for which gc mode the "gc_reclaimed_segments" node shows.
603 Refer to the description of the modes in "gc_reclaimed_segments".
604
605 What: /sys/fs/f2fs/<disk>/seq_file_ra_mul
606 Date: July 2021
607 Contact: "Daeho Jeong" <[email protected]>
608 Description: You can control the multiplier value of bdi device readahead window size
609 between 2 (default) and 256 for POSIX_FADV_SEQUENTIAL advise option.
610
611 What: /sys/fs/f2fs/<disk>/max_fragment_chunk
612 Date: August 2021
613 Contact: "Daeho Jeong" <[email protected]>
614 Description: With "mode=fragment:block" mount options, we can scatter block allocation.
615 f2fs will allocate 1..<max_fragment_chunk> blocks in a chunk and make a hole
616 in the length of 1..<max_fragment_hole> by turns. This value can be set
617 between 1..512 and the default value is 4.
618
619 What: /sys/fs/f2fs/<disk>/max_fragment_hole
620 Date: August 2021
621 Contact: "Daeho Jeong" <[email protected]>
622 Description: With "mode=fragment:block" mount options, we can scatter block allocation.
623 f2fs will allocate 1..<max_fragment_chunk> blocks in a chunk and make a hole
624 in the length of 1..<max_fragment_hole> by turns. This value can be set
625 between 1..512 and the default value is 4.
626
627 What: /sys/fs/f2fs/<disk>/gc_remaining_trials
628 Date: October 2022
629 Contact: "Yangtao Li" <[email protected]>
630 Description: You can set the trial count limit for GC urgent and idle mode with this value.
631 If GC thread gets to the limit, the mode will turn back to GC normal mode.
632 By default, the value is zero, which means there is no limit like before.
633
634 What: /sys/fs/f2fs/<disk>/max_roll_forward_node_blocks
635 Date: January 2022
636 Contact: "Jaegeuk Kim" <[email protected]>
637 Description: Controls max # of node block writes to be used for roll forward
638 recovery. This can limit the roll forward recovery time.
639
640 What: /sys/fs/f2fs/<disk>/unusable_blocks_per_sec
641 Date: June 2022
642 Contact: "Jaegeuk Kim" <[email protected]>
643 Description: Shows the number of unusable blocks in a section which was defined by
644 the zone capacity reported by underlying zoned device.
645
646 What: /sys/fs/f2fs/<disk>/current_atomic_write
647 Date: July 2022
648 Contact: "Daeho Jeong" <[email protected]>
649 Description: Show the total current atomic write block count, which is not committed yet.
650 This is a read-only entry.
651
652 What: /sys/fs/f2fs/<disk>/peak_atomic_write
653 Date: July 2022
654 Contact: "Daeho Jeong" <[email protected]>
655 Description: Show the peak value of total current atomic write block count after boot.
656 If you write "0" here, you can initialize to "0".
657
658 What: /sys/fs/f2fs/<disk>/committed_atomic_block
659 Date: July 2022
660 Contact: "Daeho Jeong" <[email protected]>
661 Description: Show the accumulated total committed atomic write block count after boot.
662 If you write "0" here, you can initialize to "0".
663
664 What: /sys/fs/f2fs/<disk>/revoked_atomic_block
665 Date: July 2022
666 Contact: "Daeho Jeong" <[email protected]>
667 Description: Show the accumulated total revoked atomic write block count after boot.
668 If you write "0" here, you can initialize to "0".
669
670 What: /sys/fs/f2fs/<disk>/gc_mode
671 Date: October 2022
672 Contact: "Yangtao Li" <[email protected]>
673 Description: Show the current gc_mode as a string.
674 This is a read-only entry.
675
676 What: /sys/fs/f2fs/<disk>/discard_urgent_util
677 Date: November 2022
678 Contact: "Yangtao Li" <[email protected]>
679 Description: When space utilization exceeds this, do background DISCARD aggressively.
680 Does DISCARD forcibly in a period of given min_discard_issue_time when the number
681 of discards is not 0 and set discard granularity to 1.
682 Default: 80
683
684 What: /sys/fs/f2fs/<disk>/hot_data_age_threshold
685 Date: November 2022
686 Contact: "Ping Xiong" <[email protected]>
687 Description: When DATA SEPARATION is on, it controls the age threshold to indicate
688 the data blocks as hot. By default it was initialized as 262144 blocks
689 (equals to 1GB).
690
691 What: /sys/fs/f2fs/<disk>/warm_data_age_threshold
692 Date: November 2022
693 Contact: "Ping Xiong" <[email protected]>
694 Description: When DATA SEPARATION is on, it controls the age threshold to indicate
695 the data blocks as warm. By default it was initialized as 2621440 blocks
696 (equals to 10GB).
697
698 What: /sys/fs/f2fs/<disk>/fault_rate
699 Date: May 2016
700 Contact: "Sheng Yong" <[email protected]>
701 Contact: "Chao Yu" <[email protected]>
702 Description: Enable fault injection in all supported types with
703 specified injection rate.
704
705 What: /sys/fs/f2fs/<disk>/fault_type
706 Date: May 2016
707 Contact: "Sheng Yong" <[email protected]>
708 Contact: "Chao Yu" <[email protected]>
709 Description: Support configuring fault injection type, should be
710 enabled with fault_injection option, fault type value
711 is shown below, it supports single or combined type.
712
713 =========================== ==========
714 Type_Name Type_Value
715 =========================== ==========
716 FAULT_KMALLOC 0x00000001
717 FAULT_KVMALLOC 0x00000002
718 FAULT_PAGE_ALLOC 0x00000004
719 FAULT_PAGE_GET 0x00000008
720 FAULT_ALLOC_BIO 0x00000010 (obsolete)
721 FAULT_ALLOC_NID 0x00000020
722 FAULT_ORPHAN 0x00000040
723 FAULT_BLOCK 0x00000080
724 FAULT_DIR_DEPTH 0x00000100
725 FAULT_EVICT_INODE 0x00000200
726 FAULT_TRUNCATE 0x00000400
727 FAULT_READ_IO 0x00000800
728 FAULT_CHECKPOINT 0x00001000
729 FAULT_DISCARD 0x00002000
730 FAULT_WRITE_IO 0x00004000
731 FAULT_SLAB_ALLOC 0x00008000
732 FAULT_DQUOT_INIT 0x00010000
733 FAULT_LOCK_OP 0x00020000
734 FAULT_BLKADDR_VALIDITY 0x00040000
735 FAULT_BLKADDR_CONSISTENCE 0x00080000
736 FAULT_NO_SEGMENT 0x00100000
737 FAULT_INCONSISTENT_FOOTER 0x00200000
738 FAULT_TIMEOUT 0x00400000 (1000ms)
739 FAULT_VMALLOC 0x00800000
740 =========================== ==========
741
742 What: /sys/fs/f2fs/<disk>/discard_io_aware_gran
743 Date: January 2023
744 Contact: "Yangtao Li" <[email protected]>
745 Description: Controls background discard granularity of inner discard thread
746 when is not in idle. Inner thread will not issue discards with size that
747 is smaller than granularity. The unit size is one block(4KB), now only
748 support configuring in range of [0, 512].
749 Default: 512
750
751 What: /sys/fs/f2fs/<disk>/last_age_weight
752 Date: January 2023
753 Contact: "Ping Xiong" <[email protected]>
754 Description: When DATA SEPARATION is on, it controls the weight of last data block age.
755
756 What: /sys/fs/f2fs/<disk>/compress_watermark
757 Date: February 2023
758 Contact: "Yangtao Li" <[email protected]>
759 Description: When compress cache is on, it controls free memory watermark
760 in order to limit caching compress page. If free memory is lower
761 than watermark, then deny caching compress page. The value should be in
762 range of (0, 100], by default it was initialized as 20(%).
763
764 What: /sys/fs/f2fs/<disk>/compress_percent
765 Date: February 2023
766 Contact: "Yangtao Li" <[email protected]>
767 Description: When compress cache is on, it controls cached page
768 percent(compress pages / free_ram) in order to limit caching compress page.
769 If cached page percent exceed threshold, then deny caching compress page.
770 The value should be in range of (0, 100], by default it was initialized
771 as 20(%).
772
773 What: /sys/fs/f2fs/<disk>/discard_io_aware
774 Date: November 2023
775 Contact: "Chao Yu" <[email protected]>
776 Description: It controls to enable/disable IO aware feature for background discard.
777 By default, the value is 1 which indicates IO aware is on.
778
779 What: /sys/fs/f2fs/<disk>/blkzone_alloc_policy
780 Date: July 2024
781 Contact: "Yuanhong Liao" <[email protected]>
782 Description: The zone UFS we are currently using consists of two parts:
783 conventional zones and sequential zones. It can be used to control which part
784 to prioritize for writes, with a default value of 0.
785
786 ======================== =========================================
787 value description
788 blkzone_alloc_policy = 0 Prioritize writing to sequential zones
789 blkzone_alloc_policy = 1 Only allow writing to sequential zones
790 blkzone_alloc_policy = 2 Prioritize writing to conventional zones
791 ======================== =========================================
792
793 What: /sys/fs/f2fs/<disk>/migration_window_granularity
794 Date: September 2024
795 Contact: "Daeho Jeong" <[email protected]>
796 Description: Controls migration window granularity of garbage collection on large
797 section. it can control the scanning window granularity for GC migration
798 in a unit of segment, while migration_granularity controls the number
799 of segments which can be migrated at the same turn.
800
801 What: /sys/fs/f2fs/<disk>/reserved_segments
802 Date: September 2024
803 Contact: "Daeho Jeong" <[email protected]>
804 Description: In order to fine tune GC behavior, we can control the number of
805 reserved segments.
806
807 What: /sys/fs/f2fs/<disk>/gc_no_zoned_gc_percent
808 Date: September 2024
809 Contact: "Daeho Jeong" <[email protected]>
810 Description: If the percentage of free sections over total sections is above this
811 number, F2FS do not garbage collection for zoned devices through the
812 background GC thread. the default number is "60".
813
814 What: /sys/fs/f2fs/<disk>/gc_boost_zoned_gc_percent
815 Date: September 2024
816 Contact: "Daeho Jeong" <[email protected]>
817 Description: If the percentage of free sections over total sections is under this
818 number, F2FS boosts garbage collection for zoned devices through the
819 background GC thread. the default number is "25".
820
821 What: /sys/fs/f2fs/<disk>/gc_valid_thresh_ratio
822 Date: September 2024
823 Contact: "Daeho Jeong" <[email protected]>
824 Description: It controls the valid block ratio threshold not to trigger excessive GC
825 for zoned devices. The initial value of it is 95(%). F2FS will stop the
826 background GC thread from initiating GC for sections having valid blocks
827 exceeding the ratio.
828
829 What: /sys/fs/f2fs/<disk>/max_read_extent_count
830 Date: November 2024
831 Contact: "Chao Yu" <[email protected]>
832 Description: It controls max read extent count for per-inode, the value of threshold
833 is 10240 by default.
834
835 What: /sys/fs/f2fs/tuning/reclaim_caches_kb
836 Date: February 2025
837 Contact: "Jaegeuk Kim" <[email protected]>
838 Description: It reclaims the given KBs of file-backed pages registered by
839 ioctl(F2FS_IOC_DONATE_RANGE).
840 For example, writing N tries to drop N KBs spaces in LRU.
841
842 What: /sys/fs/f2fs/<disk>/carve_out
843 Date: March 2025
844 Contact: "Daeho Jeong" <[email protected]>
845 Description: For several zoned storage devices, vendors will provide extra space which
846 was used for device level GC than specs and F2FS can use this space for
847 filesystem level GC. To do that, we can reserve the space using
848 reserved_blocks. However, it is not enough, since this extra space should
849 not be shown to users. So, with this new sysfs node, we can hide the space
850 by subtracting reserved_blocks from total bytes.
851
852 What: /sys/fs/f2fs/<disk>/encoding_flags
853 Date: April 2025
854 Contact: "Chao Yu" <[email protected]>
855 Description: This is a read-only entry to show the value of sb.s_encoding_flags, the
856 value is hexadecimal.
857
858 ============================ ==========
859 Flag_Name Flag_Value
860 ============================ ==========
861 SB_ENC_STRICT_MODE_FL 0x00000001
862 SB_ENC_NO_COMPAT_FALLBACK_FL 0x00000002
863 ============================ ==========
864
865 What: /sys/fs/f2fs/<disk>/reserved_pin_section
866 Date: June 2025
867 Contact: "Chao Yu" <[email protected]>
868 Description: This threshold is used to control triggering garbage collection while
869 fallocating on pinned file, so, it can guarantee there is enough free
870 reserved section before preallocating on pinned file.
871 By default, the value is ovp_sections, especially, for zoned ufs, the
872 value is 1.
873
874 What: /sys/fs/f2fs/<disk>/gc_boost_gc_multiple
875 Date: June 2025
876 Contact: "Daeho Jeong" <[email protected]>
877 Description: Set a multiplier for the background GC migration window when F2FS GC is
878 boosted. The range should be from 1 to the segment count in a section.
879 Default: 5
880
881 What: /sys/fs/f2fs/<disk>/gc_boost_gc_greedy
882 Date: June 2025
883 Contact: "Daeho Jeong" <[email protected]>
884 Description: Control GC algorithm for boost GC. 0: cost benefit, 1: greedy
885 Default: 1
886
887 What: /sys/fs/f2fs/<disk>/effective_lookup_mode
888 Date: August 2025
889 Contact: "Daniel Lee" <[email protected]>
890 Description:
891 This is a read-only entry to show the effective directory lookup mode
892 F2FS is currently using for casefolded directories.
893 This considers both the "lookup_mode" mount option and the on-disk
894 encoding flag, SB_ENC_NO_COMPAT_FALLBACK_FL.
895
896 Possible values are:
897 - "perf": Hash-only lookup.
898 - "compat": Hash-based lookup with a linear search fallback enabled
899 - "auto:perf": lookup_mode is auto and fallback is disabled on-disk
900 - "auto:compat": lookup_mode is auto and fallback is enabled on-disk
901
902 What: /sys/fs/f2fs/<disk>/bggc_io_aware
903 Date: August 2025
904 Contact: "Liao Yuanhong" <[email protected]>
905 Description: Used to adjust the BG_GC priority when pending IO, with a default value
906 of 0. Specifically, for ZUFS, the default value is 1.
907
908 ================== ======================================================
909 value description
910 bggc_io_aware = 0 skip background GC if there is any kind of pending IO
911 bggc_io_aware = 1 skip background GC if there is pending read IO
912 bggc_io_aware = 2 don't aware IO for background GC
913 ================== ======================================================
914
915 What: /sys/fs/f2fs/<disk>/allocate_section_hint
916 Date: August 2025
917 Contact: "Liao Yuanhong" <[email protected]>
918 Description: Indicates the hint section between the first device and others in multi-devices
919 setup. It defaults to the end of the first device in sections. For a single storage
920 device, it defaults to the total number of sections. It can be manually set to match
921 scenarios where multi-devices are mapped to the same dm device.
922
923 What: /sys/fs/f2fs/<disk>/allocate_section_policy
924 Date: August 2025
925 Contact: "Liao Yuanhong" <[email protected]>
926 Description: Controls write priority in multi-devices setups. A value of 0 means normal writing.
927 A value of 1 prioritizes writing to devices before the allocate_section_hint. A value of 2
928 prioritizes writing to devices after the allocate_section_hint. The default is 0.
929
930 =========================== ==========================================================
931 value description
932 allocate_section_policy = 0 Normal writing
933 allocate_section_policy = 1 Prioritize writing to section before allocate_section_hint
934 allocate_section_policy = 2 Prioritize writing to section after allocate_section_hint
935 =========================== ==========================================================
936

3. 한국어 전문 번역

영어 원문의 문단 순서와 의미를 유지한 전체 번역입니다. 코드, 함수명, symbol과 URL은 원문 표기를 유지합니다.

F2FS gc max sleep time

1-6
항목한국어 전문 번역
What/sys/fs/f2fs/<disk>/gc_max_sleep_time
Date2013년 7월
Contact"Namjae Jeon" <[email protected]>
DescriptionGC thread의 최대 sleep time을 제어합니다. 시간 단위는 milliseconds입니다.

F2FS gc min sleep time

7-12
항목한국어 전문 번역
What/sys/fs/f2fs/<disk>/gc_min_sleep_time
Date2013년 7월
Contact"Namjae Jeon" <[email protected]>
DescriptionGC thread의 최소 sleep time을 제어합니다. 시간 단위는 milliseconds입니다.

F2FS gc no gc sleep time

13-18
항목한국어 전문 번역
What/sys/fs/f2fs/<disk>/gc_no_gc_sleep_time
Date2013년 7월
Contact"Namjae Jeon" <[email protected]>
DescriptionGC할 작업이 없을 때 GC thread가 사용하는 default sleep time을 제어합니다. 시간 단위는 milliseconds입니다.

F2FS gc idle

19-30
항목한국어 전문 번역
What/sys/fs/f2fs/<disk>/gc_idle
Date2013년 7월
Contact"Namjae Jeon" <[email protected]>
DescriptionGarbage collection의 victim selection policy를 제어합니다. `0`은 default이며 이 option을 disable합니다. `1`은 Cost Benefit 방식, `2`는 greedy 방식, `3`은 age-threshold 기반 방식을 선택합니다.
F2FS gc_idle policies
ValuePolicy
0Disabled, default
1Cost Benefit
2Greedy
3Age-threshold

원문의 victim-selection table을 구조화했습니다.

F2FS reclaim segments

31-40
항목한국어 전문 번역
What/sys/fs/f2fs/<disk>/reclaim_segments
Date2013년 10월
Contact"Jaegeuk Kim" <[email protected]>
DescriptionReclaim할 prefree segments 수를 제어합니다. Prefree segment 수가 전체 volume의 segment 수에 대해 이 percentage가 나타내는 수보다 많으면 F2FS가 checkpoint를 수행해 prefree segments를 free segments로 reclaim하려고 합니다. Default는 전체 segments의 5%입니다.

F2FS main blkaddr

41-45
항목한국어 전문 번역
What/sys/fs/f2fs/<disk>/main_blkaddr
Date2019년 11월
Contact"Ramon Pantin" <[email protected]>
DescriptionMAIN area의 첫 block address를 표시합니다.

F2FS ipu policy

46-71
항목한국어 전문 번역
What/sys/fs/f2fs/<disk>/ipu_policy
Date2013년 11월
Contact"Jaegeuk Kim" <[email protected]>
DescriptionF2FS의 in-place-update(IPU) policy를 제어합니다. `0x00 DISABLE`은 IPU를 끄며 LFS mode의 default, `0x01 FORCE`는 항상 IPU, `0x02 SSR`은 SSR mode에서 IPU, `0x04 UTIL`은 filesystem utilization이 threshold를 넘을 때 IPU, `0x08 SSR_UTIL`은 SSR mode이면서 utilization도 threshold를 넘을 때 IPU를 사용합니다. `0x10 FSYNC`은 high-performance flash storage의 fsync path에서 dirty pages가 `min_fsync_blocks`를 넘을 때만 IPU를 trigger하며 default option입니다. `0x20 ASYNC`은 asynchronous write requests에 IPU를 적용하고, `0x40 NOCACHE`는 IPU bio cache를 disable하며, `0x80 HONOR_OPU_WRITE`는 inode에 `FI_OPU_WRITE` flag가 있으면 IPU보다 OPU write를 우선합니다. 자세한 내용은 `segment.h`를 참조합니다.
F2FS IPU policy bits
ValuePolicyCondition or effect
0x00DISABLEDisable IPU; LFS-mode default
0x01FORCEAlways
0x02SSRSSR mode active
0x04UTILUtilization above threshold
0x08SSR_UTILSSR and utilization threshold
0x10FSYNCFsync dirty pages above min_fsync_blocks
0x20ASYNCAsynchronous writes
0x40NOCACHEDisable IPU bio cache
0x80HONOR_OPU_WRITEPrefer OPU for FI_OPU_WRITE inode

In-place update를 trigger하거나 조정하는 bit values입니다.

F2FS min ipu util

72-77
항목한국어 전문 번역
What/sys/fs/f2fs/<disk>/min_ipu_util
Date2013년 11월
Contact"Jaegeuk Kim" <[email protected]>
DescriptionIn-place-update policies의 filesystem utilization 조건을 제어합니다. `F2FS_IPU_UTIL`과 `F2FS_IPU_SSR_UTIL` policies가 이 값을 사용합니다.

F2FS min fsync blocks

78-83
항목한국어 전문 번역
What/sys/fs/f2fs/<disk>/min_fsync_blocks
Date2014년 9월
Contact"Jaegeuk Kim" <[email protected]>
DescriptionIn-place-update policies에 적용하는 dirty page count 조건을 제어합니다.

F2FS min seq blocks

84-89
항목한국어 전문 번역
What/sys/fs/f2fs/<disk>/min_seq_blocks
Date2018년 8월
Contact"Jaegeuk Kim" <[email protected]>
Description`writepages`에서 batched sequential writes로 처리할 dirty page count 조건을 제어합니다.

F2FS min hot blocks

90-94
항목한국어 전문 번역
What/sys/fs/f2fs/<disk>/min_hot_blocks
Date2017년 3월
Contact"Jaegeuk Kim" <[email protected]>
DescriptionData를 hot으로 다시 분류하는 dirty page count 조건을 제어합니다.

F2FS min ssr sections

95-100
항목한국어 전문 번역
What/sys/fs/f2fs/<disk>/min_ssr_sections
Date2017년 10월
Contact"Chao Yu" <[email protected]>
DescriptionSSR allocation을 trigger할 free section threshold를 제어합니다. 값을 크게 설정할수록 SSR mode가 더 일찍 enable됩니다.

F2FS max small discards

101-108
항목한국어 전문 번역
What/sys/fs/f2fs/<disk>/max_small_discards
Date2013년 11월
Contact"Jaegeuk Kim" <[email protected]>
Description2 MB보다 작은 blocks로 구성된 discard commands의 issue rate를 제어합니다. Discard candidates는 checkpoint 중 cache되고 checkpoint 뒤 `issue_discard` thread가 발행합니다. Default로 enabled입니다.

F2FS max ordered discard

109-114
항목한국어 전문 번역
What/sys/fs/f2fs/<disk>/max_ordered_discard
Date2022년 10월
Contact"Yangtao Li" <[email protected]>
DescriptionOrdered discard의 최대 크기를 제어합니다. 단위는 block 하나인 4 KB이고 default는 16입니다.

F2FS max discard request

115-121
항목한국어 전문 번역
What/sys/fs/f2fs/<disk>/max_discard_request
Date2021년 12월
Contact"Konstantin Vyshetsky" <[email protected]>
DescriptionDiscard thread가 한 번에 발행할 discard 수를 제어합니다. 값을 높이면 discard 작업은 빨리 끝나지만 incoming I/O latency가 커질 수 있습니다.

F2FS min discard issue time

122-128
항목한국어 전문 번역
What/sys/fs/f2fs/<disk>/min_discard_issue_time
Date2021년 12월
Contact"Konstantin Vyshetsky" <[email protected]>
Description발행할 discards가 있고 I/O-aware interruption이 발생하지 않았을 때 discard requests 사이에서 thread가 기다릴 interval을 제어합니다.

F2FS mid discard issue time

129-135
항목한국어 전문 번역
What/sys/fs/f2fs/<disk>/mid_discard_issue_time
Date2021년 12월
Contact"Konstantin Vyshetsky" <[email protected]>
Description발행할 discards가 있고 I/O-aware interruption이 발생했을 때 discard requests 사이에서 thread가 기다릴 interval을 제어합니다.

F2FS max discard issue time

136-141
항목한국어 전문 번역
What/sys/fs/f2fs/<disk>/max_discard_issue_time
Date2021년 12월
Contact"Konstantin Vyshetsky" <[email protected]>
Description발행할 discard operation이 없을 때 discard thread가 기다릴 interval을 제어합니다.

F2FS discard granularity

142-150
항목한국어 전문 번역
What/sys/fs/f2fs/<disk>/discard_granularity
Date2017년 7월
Contact"Chao Yu" <[email protected]>
Description내부 discard thread의 discard granularity를 제어합니다. Thread는 granularity보다 작은 discard를 발행하지 않습니다. 단위는 4 KB block 하나이며 범위는 1부터 512, default는 16입니다. Small devices의 default는 1입니다.

F2FS umount discard timeout

151-156
항목한국어 전문 번역
What/sys/fs/f2fs/<disk>/umount_discard_timeout
Date2019년 1월
Contact"Jaegeuk Kim" <[email protected]>
DescriptionUnmount 중 discard commands를 발행할 timeout을 설정합니다. Default는 5 seconds입니다.

F2FS pending discard

157-161
항목한국어 전문 번역
What/sys/fs/f2fs/<disk>/pending_discard
Date2021년 11월
Contact"Jaegeuk Kim" <[email protected]>
DescriptionQueue에 대기 중인 discard commands 수를 표시합니다.

F2FS migration granularity

169-176
항목한국어 전문 번역
What/sys/fs/f2fs/<disk>/migration_granularity
Date2018년 10월
Contact"Chao Yu" <[email protected]>
DescriptionLarge section에서 garbage collection의 migration granularity를 제어합니다. 한 GC cycle에 section 전체가 아닌 일부 segments만 옮길 수 있게 하여 무거운 GC overhead를 여러 가벼운 cycles로 분산합니다.

F2FS dir level

177-185
항목한국어 전문 번역
What/sys/fs/f2fs/<disk>/dir_level
Date2014년 3월
Contact"Jaegeuk Kim" <[email protected]>
DescriptionLarge directory의 directory level을 제어합니다. Files가 많으면 `dir_level`을 높여 lookup latency를 줄일 수 있고, 그렇지 않으면 값을 낮춰 space overhead를 줄여야 합니다. Default는 0입니다.

F2FS ram thresh

186-192
항목한국어 전문 번역
What/sys/fs/f2fs/<disk>/ram_thresh
Date2014년 3월
Contact"Jaegeuk Kim" <[email protected]>
DescriptionFree NIDs와 cached NAT entries가 사용하는 memory footprint를 제어합니다. Default 1은 RAM 1 GB당 10 MB를 뜻합니다.

F2FS cp interval

193-197
항목한국어 전문 번역
What/sys/fs/f2fs/<disk>/cp_interval
Date2015년 10월
Contact"Jaegeuk Kim" <[email protected]>
DescriptionCheckpoint timing을 제어하며 default는 60 seconds입니다.

F2FS idle interval

198-204
항목한국어 전문 번역
What/sys/fs/f2fs/<disk>/idle_interval
Date2016년 1월
Contact"Jaegeuk Kim" <[email protected]>
Description주어진 interval 동안 filesystem operation이 없을 때 system을 idle로 판단하는 timing을 제어합니다. Default는 5 seconds입니다.

F2FS discard idle interval

205-212
항목한국어 전문 번역
What/sys/fs/f2fs/<disk>/discard_idle_interval
Date2018년 9월
Contact"Chao Yu" <[email protected]>, "Sahitya Tummala" <[email protected]>
DescriptionDiscard thread의 idle timing interval을 제어합니다. Default는 5 seconds입니다.

F2FS gc idle interval

213-218
항목한국어 전문 번역
What/sys/fs/f2fs/<disk>/gc_idle_interval
Date2018년 9월
Contact"Chao Yu" <[email protected]>, "Sahitya Tummala" <[email protected]>
DescriptionGC path의 idle timing을 제어합니다. Default는 5 seconds입니다.

F2FS iostat enable

219-223
항목한국어 전문 번역
What/sys/fs/f2fs/<disk>/iostat_enable
Date2017년 8월
Contact"Chao Yu" <[email protected]>
DescriptionI/O statistics를 enable하거나 disable합니다.

F2FS ra nid pages

224-230
항목한국어 전문 번역
What/sys/fs/f2fs/<disk>/ra_nid_pages
Date2015년 10월
Contact"Chao Yu" <[email protected]>
DescriptionReadahead할 NID pages 수를 제어합니다. F2FS는 free NIDs를 만들 때 속도를 높이려고 NAT blocks를 미리 읽습니다. Default는 0입니다.

F2FS dirty nats ratio

231-237
항목한국어 전문 번역
What/sys/fs/f2fs/<disk>/dirty_nats_ratio
Date2016년 1월
Contact"Chao Yu" <[email protected]>
DescriptionDirty NAT entries ratio threshold를 제어합니다. 현재 ratio가 threshold를 넘으면 dirty NAT entries를 flush하기 위해 checkpoint를 trigger합니다.

F2FS lifetime write kbytes

238-242
항목한국어 전문 번역
What/sys/fs/f2fs/<disk>/lifetime_write_kbytes
Date2016년 1월
Contact"Shuoran Liu" <[email protected]>
DescriptionDisk에 발행된 전체 write kilobytes를 표시합니다.

F2FS features

243-252
항목한국어 전문 번역
What/sys/fs/f2fs/<disk>/features
Date2017년 7월
Contact"Jaegeuk Kim" <[email protected]>
DescriptionDeprecated된 current-device feature 목록이며 `/sys/fs/f2fs/<disk>/feature_list/`를 사용해야 합니다. 지원 names는 `encryption`, `blkzoned`, `extra_attr`, `projquota`, `inode_checksum`, `flexible_inline_xattr`, `quota_ino`, `inode_crtime`, `lost_found`, `verity`, `sb_checksum`, `casefold`, `readonly`, `compression`, `pin_file`입니다.
Deprecated per-device feature names
Features
encryption, blkzoned, extra_attr, projquota
inode_checksum, flexible_inline_xattr, quota_ino
inode_crtime, lost_found, verity, sb_checksum
casefold, readonly, compression, pin_file

Legacy feature file에 표시되는 on-disk names입니다.

F2FS feature list

253-263
항목한국어 전문 번역
What/sys/fs/f2fs/<disk>/feature_list/
Date2021년 6월
Contact"Jaegeuk Kim" <[email protected]>
DescriptionSysfs 규칙을 충족하도록 `/sys/fs/f2fs/<disk>/features`를 확장한 on-disk feature directory입니다. 지원 names는 `encryption`, `block_zoned`(`blkzoned`), `extra_attr`, `project_quota`(`projquota`), `inode_checksum`, `flexible_inline_xattr`, `quota_ino`, `inode_crtime`, `lost_found`, `verity`, `sb_checksum`, `casefold`, `readonly`, `compression`입니다. `pin_file`은 `/sys/fs/f2fs/features/`로 이동했습니다.
Per-device feature_list names
NameAlias or note
block_zonedblkzoned
project_quotaprojquota
pin_fileMoved to global kernel-feature directory
Other namesencryption through compression

Sysfs-compliant on-disk feature names와 aliases입니다.

F2FS features

264-274
항목한국어 전문 번역
What/sys/fs/f2fs/features/
Date2017년 7월
Contact"Jaegeuk Kim" <[email protected]>
Description활성화된 kernel features를 표시합니다. 지원 names는 `encryption`, `block_zoned`, `extra_attr`, `project_quota`, `inode_checksum`, `flexible_inline_xattr`, `quota_ino`, `inode_crtime`, `lost_found`, `verity`, `sb_checksum`, `casefold`, `readonly`, `compression`, `test_dummy_encryption_v2`, `atomic_write`, `pin_file`, `encrypted_casefold`, `linear_lookup`입니다.
Global F2FS kernel features
Feature groupNames
On-disk relatedencryption through compression
Testingtest_dummy_encryption_v2
Writeatomic_write, pin_file
Lookupencrypted_casefold, linear_lookup

Kernel-level support names입니다.

F2FS inject rate

275-279
항목한국어 전문 번역
What/sys/fs/f2fs/<disk>/inject_rate
Date2016년 5월
Contact"Sheng Yong" <[email protected]>
Description임의 fault의 injection rate를 제어합니다.

F2FS inject type

280-284
항목한국어 전문 번역
What/sys/fs/f2fs/<disk>/inject_type
Date2016년 5월
Contact"Sheng Yong" <[email protected]>
Description임의 fault의 injection type을 제어합니다.

F2FS dirty segments

285-289
항목한국어 전문 번역
What/sys/fs/f2fs/<disk>/dirty_segments
Date2017년 10월
Contact"Jaegeuk Kim" <[email protected]>
DescriptionDirty segments 수를 표시합니다.

F2FS reserved blocks

290-295
항목한국어 전문 번역
What/sys/fs/f2fs/<disk>/reserved_blocks
Date2017년 6월
Contact"Chao Yu" <[email protected]>
DescriptionSystem의 target reserved blocks를 제어합니다. Threshold는 soft limit이므로 현재 userspace가 사용할 수 있는 공간보다 클 수 있습니다.

F2FS current reserved blocks

296-304
항목한국어 전문 번역
What/sys/fs/f2fs/<disk>/current_reserved_blocks
Date2017년 10월
Contact"Yunlong Song" <[email protected]>, "Chao Yu" <[email protected]>
DescriptionSystem의 current reserved blocks를 표시합니다. 일시적으로 `target_reserved_blocks`보다 작을 수 있지만 user가 나중에 더 많은 free blocks를 만들면 점차 target까지 증가합니다.

F2FS gc urgent

305-321
항목한국어 전문 번역
What/sys/fs/f2fs/<disk>/gc_urgent
Date2017년 8월
Contact"Jaegeuk Kim" <[email protected]>
DescriptionBackground GC의 공격성을 제어하며 default는 0입니다. High mode `1`은 `gc_urgent_sleep_time` 주기마다 GC를 강제로 수행하고 I/O idle 검사를 무시하며 greedy GC와 SSR을 사용합니다. Low mode `2`는 outstanding discard commands와 조금 더 공격적인 GC를 위해 I/O idle 판단 기준을 낮추고 항상 Cost Benefit GC를 사용하며 ATGC가 동시에 enabled여도 age-threshold 방식을 override합니다. Mid mode `3`은 같은 주기로 GC를 강제하되 중간 수준의 I/O idle 검사를 하고 Cost Benefit GC를 사용하며 ATGC를 override합니다.
F2FS urgent GC modes
ValueModeI/O idleAlgorithm
0NormalNormalConfigured policy
1Urgent highIgnoredGreedy + SSR
2Urgent lowRelaxedCost Benefit
3Urgent midMid-level checkCost Benefit

I/O-idle handling과 GC algorithm을 비교합니다.

F2FS gc urgent sleep time

322-326
항목한국어 전문 번역
What/sys/fs/f2fs/<disk>/gc_urgent_sleep_time
Date2017년 8월
Contact"Jaegeuk Kim" <[email protected]>
DescriptionGC urgent mode의 sleep time을 제어합니다. Default는 500 ms입니다.

F2FS readdir ra

327-331
항목한국어 전문 번역
What/sys/fs/f2fs/<disk>/readdir_ra
Date2017년 11월
Contact"Sheng Yong" <[email protected]>
Description`readdir`에서 inode-block readahead를 제어하며 default로 enabled입니다.

F2FS gc pin file thresh

332-338
항목한국어 전문 번역
What/sys/fs/f2fs/<disk>/gc_pin_file_thresh
Date2018년 1월
ContactJaegeuk Kim <[email protected]>
DescriptionPinned file에서 허용할 GC failure 횟수를 나타냅니다. 이를 넘으면 F2FS가 pinning state를 보장하지 않습니다. Default는 2048 trials이고 maximum은 65535입니다.

F2FS extension list

339-348
항목한국어 전문 번역
What/sys/fs/f2fs/<disk>/extension_list
Date2018년 2월
Contact"Chao Yu" <[email protected]>
DescriptionFile extension list를 조회·추가·삭제합니다. 조회는 `cat /sys/fs/f2fs/<disk>/extension_list`, 추가는 `echo '[h/c]extension' > ...`, 삭제는 `echo '[h/c]!extension' > ...` 형식입니다. `[h]`는 hot-file extension, `[c]`는 cold-file extension을 뜻합니다.
F2FS extension-list commands
OperationSyntax
Querycat .../extension_list
Addecho '[h/c]extension' > .../extension_list
Deleteecho '[h/c]!extension' > .../extension_list

Hot·cold extension query와 mutation syntax입니다.

cat /sys/fs/f2fs/<disk>/extension_list
echo '[h/c]extension' > /sys/fs/f2fs/<disk>/extension_list
echo '[h/c]!extension' > /sys/fs/f2fs/<disk>/extension_list

F2FS unusable

349-356
항목한국어 전문 번역
What/sys/fs/f2fs/<disk>/unusable
Date2019년 4월
Contact"Daniel Rosenberg" <[email protected]>
Description`checkpoint=disable`이면 실제 unusable blocks 수를 표시합니다. Checkpoint가 enabled이면 이를 disable했을 때 unusable해질 blocks 수를 표시합니다.

F2FS encoding

357-362
항목한국어 전문 번역
What/sys/fs/f2fs/<disk>/encoding
Date2019년 7월
Contact"Daniel Rosenberg" <[email protected]>
DescriptionFilesystem에 설정된 encoding의 name과 version을 표시합니다. Encoding이 없으면 `(none)`을 표시합니다.

F2FS free segments

363-367
항목한국어 전문 번역
What/sys/fs/f2fs/<disk>/free_segments
Date2019년 9월
Contact"Hridya Valsaraju" <[email protected]>
DescriptionDisk의 free segments 수를 표시합니다.

F2FS cp foreground calls

368-373
항목한국어 전문 번역
What/sys/fs/f2fs/<disk>/cp_foreground_calls
Date2019년 9월
Contact"Hridya Valsaraju" <[email protected]>
Description요청에 따라 수행한 checkpoint operations 수입니다. `CONFIG_F2FS_STAT_FS=y`일 때 사용할 수 있습니다.

F2FS cp background calls

374-379
항목한국어 전문 번역
What/sys/fs/f2fs/<disk>/cp_background_calls
Date2019년 9월
Contact"Hridya Valsaraju" <[email protected]>
DescriptionFree segments를 만들기 위해 background에서 수행한 checkpoint operations 수입니다. `CONFIG_F2FS_STAT_FS=y`일 때 사용할 수 있습니다.

F2FS gc foreground calls

380-385
항목한국어 전문 번역
What/sys/fs/f2fs/<disk>/gc_foreground_calls
Date2019년 9월
Contact"Hridya Valsaraju" <[email protected]>
Description요청에 따라 수행한 garbage collection operations 수입니다. `CONFIG_F2FS_STAT_FS=y`일 때 사용할 수 있습니다.

F2FS gc background calls

386-391
항목한국어 전문 번역
What/sys/fs/f2fs/<disk>/gc_background_calls
Date2019년 9월
Contact"Hridya Valsaraju" <[email protected]>
DescriptionBackground에서 trigger된 garbage collection operations 수입니다. `CONFIG_F2FS_STAT_FS=y`일 때 사용할 수 있습니다.

F2FS moved blocks foreground

392-397
항목한국어 전문 번역
What/sys/fs/f2fs/<disk>/moved_blocks_foreground
Date2019년 9월
Contact"Hridya Valsaraju" <[email protected]>
DescriptionForeground garbage collection이 이동한 blocks 수입니다. `CONFIG_F2FS_STAT_FS=y`일 때 사용할 수 있습니다.

F2FS moved blocks background

398-403
항목한국어 전문 번역
What/sys/fs/f2fs/<disk>/moved_blocks_background
Date2019년 9월
Contact"Hridya Valsaraju" <[email protected]>
DescriptionBackground garbage collection이 이동한 blocks 수입니다. `CONFIG_F2FS_STAT_FS=y`일 때 사용할 수 있습니다.

F2FS avg vblocks

404-409
항목한국어 전문 번역
What/sys/fs/f2fs/<disk>/avg_vblocks
Date2019년 9월
Contact"Hridya Valsaraju" <[email protected]>
DescriptionAverage valid-block count를 표시합니다. `CONFIG_F2FS_STAT_FS=y`일 때 사용할 수 있습니다.

F2FS mounted time sec

410-414
항목한국어 전문 번역
What/sys/fs/f2fs/<disk>/mounted_time_sec
Date2020년 2월
Contact"Jaegeuk Kim" <[email protected]>
Description이 partition이 mount된 시간을 seconds 단위로 표시합니다.

F2FS data io flag

415-428
항목한국어 전문 번역
What/sys/fs/f2fs/<disk>/data_io_flag
Date2020년 4월
Contact"Jaegeuk Kim" <[email protected]>
DescriptionTemperature-based bits로 data writes에 `REQ_META` 또는 `REQ_FUA`를 붙입니다. Bits 5·4·3은 각각 Cold·Warm·Hot data의 `REQ_META`, bits 2·1·0은 각각 Cold·Warm·Hot data의 `REQ_FUA`를 제어합니다.
F2FS data_io_flag bit layout
FlagColdWarmHot
REQ_METABit 5Bit 4Bit 3
REQ_FUABit 2Bit 1Bit 0

ASCII bit diagram을 구조화했습니다.

F2FS node io flag

429-442
항목한국어 전문 번역
What/sys/fs/f2fs/<disk>/node_io_flag
Date2020년 6월
Contact"Jaegeuk Kim" <[email protected]>
DescriptionTemperature-based bits로 node writes에 `REQ_META` 또는 `REQ_FUA`를 붙입니다. Bits 5·4·3은 각각 Cold·Warm·Hot node의 `REQ_META`, bits 2·1·0은 각각 Cold·Warm·Hot node의 `REQ_FUA`를 제어합니다.
F2FS node_io_flag bit layout
FlagColdWarmHot
REQ_METABit 5Bit 4Bit 3
REQ_FUABit 2Bit 1Bit 0

Node-write ASCII bit diagram을 구조화했습니다.

F2FS iostat period ms

443-447
항목한국어 전문 번역
What/sys/fs/f2fs/<disk>/iostat_period_ms
Date2020년 4월
Contact"Daeho Jeong" <[email protected]>
DescriptionI/O statistics period를 변경합니다. Default는 3 seconds이며 새 iostat trace는 이 period에 따른 statistics gap을 제공합니다.

F2FS max io bytes

448-455
항목한국어 전문 번역
What/sys/fs/f2fs/<disk>/max_io_bytes
Date2020년 12월
Contact"Jaegeuk Kim" <[email protected]>
DescriptionF2FS가 제출하는 bio size를 제한합니다. Default 0은 underlying block-layer limit을 따르고, byte value를 설정하면 그보다 큰 bio를 제출하지 않습니다.

F2FS sb status

456-479
항목한국어 전문 번역
What/sys/fs/f2fs/<disk>/stat/sb_status
Date2020년 12월
Contact"Chao Yu" <[email protected]>
DescriptionF2FS superblock status를 실시간 bitmask로 표시합니다. `0x1 SBI_IS_DIRTY`는 checkpoint dirty, `0x2 SBI_IS_CLOSE`는 unmounting, `0x4 SBI_NEED_FSCK`는 `fsck.f2fs` repair 필요, `0x8 SBI_POR_DOING`은 recovery 진행, `0x10 SBI_NEED_SB_WRITE`는 superblock recovery 필요, `0x20 SBI_NEED_CP`는 checkpoint 필요, `0x40 SBI_IS_SHUTDOWN`은 ioctl shutdown, `0x80 SBI_IS_RECOVERED`는 orphan/data recovery를 뜻합니다. `0x100 SBI_CP_DISABLED`와 `0x200 SBI_CP_DISABLED_QUICK`은 이전 mount의 CP disable 상태, `0x400 SBI_QUOTA_NEED_FLUSH`와 `0x800 SBI_QUOTA_SKIP_FLUSH`는 quota flush 정책, `0x1000 SBI_QUOTA_NEED_REPAIR`는 quota corruption 가능성, `0x2000 SBI_IS_RESIZEFS`는 resizefs 진행, `0x4000 SBI_IS_FREEZING`은 freefs 진행을 뜻합니다.
F2FS superblock status bits
ValueMacroMeaning
0x1SBI_IS_DIRTYCheckpoint dirty
0x2SBI_IS_CLOSEUnmounting
0x4SBI_NEED_FSCKNeeds fsck.f2fs
0x8SBI_POR_DOINGRecovery in progress
0x10SBI_NEED_SB_WRITERecover superblock
0x20SBI_NEED_CPNeeds checkpoint
0x40SBI_IS_SHUTDOWNioctl shutdown
0x80SBI_IS_RECOVEREDOrphan/data recovered
0x100SBI_CP_DISABLEDCP disabled last mount
0x200SBI_CP_DISABLED_QUICKCP disabled quickly
0x400SBI_QUOTA_NEED_FLUSHFlush quota in CP
0x800SBI_QUOTA_SKIP_FLUSHSkip quota flush
0x1000SBI_QUOTA_NEED_REPAIRQuota may be corrupt
0x2000SBI_IS_RESIZEFSResize in progress
0x4000SBI_IS_FREEZINGFreeze in progress

실시간 `sb_status` bitmask입니다.

F2FS cp status

480-503
항목한국어 전문 번역
What/sys/fs/f2fs/<disk>/stat/cp_status
Date2022년 9월
Contact"Chao Yu" <[email protected]>
DescriptionF2FS checkpoint status를 실시간 bitmask로 표시합니다. Flags는 `CP_UMOUNT_FLAG 0x00000001`, `CP_ORPHAN_PRESENT_FLAG 0x00000002`, `CP_COMPACT_SUM_FLAG 0x00000004`, `CP_ERROR_FLAG 0x00000008`, `CP_FSCK_FLAG 0x00000010`, `CP_FASTBOOT_FLAG 0x00000020`, `CP_CRC_RECOVERY_FLAG 0x00000040`, `CP_NAT_BITS_FLAG 0x00000080`, `CP_TRIMMED_FLAG 0x00000100`, `CP_NOCRC_RECOVERY_FLAG 0x00000200`, `CP_LARGE_NAT_BITMAP_FLAG 0x00000400`, `CP_QUOTA_NEED_FSCK_FLAG 0x00000800`, `CP_DISABLED_FLAG 0x00001000`, `CP_DISABLED_QUICK_FLAG 0x00002000`, `CP_RESIZEFS_FLAG 0x00004000`입니다.
F2FS checkpoint status flags
FlagValue
CP_UMOUNT_FLAG0x00000001
CP_ORPHAN_PRESENT_FLAG0x00000002
CP_COMPACT_SUM_FLAG0x00000004
CP_ERROR_FLAG0x00000008
CP_FSCK_FLAG0x00000010
CP_FASTBOOT_FLAG0x00000020
CP_CRC_RECOVERY_FLAG0x00000040
CP_NAT_BITS_FLAG0x00000080
CP_TRIMMED_FLAG0x00000100
CP_NOCRC_RECOVERY_FLAG0x00000200
CP_LARGE_NAT_BITMAP_FLAG0x00000400
CP_QUOTA_NEED_FSCK_FLAG0x00000800
CP_DISABLED_FLAG0x00001000
CP_DISABLED_QUICK_FLAG0x00002000
CP_RESIZEFS_FLAG0x00004000

실시간 `cp_status` flags와 values입니다.

F2FS issued discard

504-508
항목한국어 전문 번역
What/sys/fs/f2fs/<disk>/stat/issued_discard
Date2023년 12월
Contact"Zhiguo Niu" <[email protected]>
Description발행한 discard 수를 표시합니다.

F2FS queued discard

509-513
항목한국어 전문 번역
What/sys/fs/f2fs/<disk>/stat/queued_discard
Date2023년 12월
Contact"Zhiguo Niu" <[email protected]>
DescriptionQueue에 넣은 discard 수를 표시합니다.

F2FS undiscard blks

514-518
항목한국어 전문 번역
What/sys/fs/f2fs/<disk>/stat/undiscard_blks
Date2023년 12월
Contact"Zhiguo Niu" <[email protected]>
Description아직 discard하지 않은 blocks의 전체 수를 표시합니다.

F2FS ckpt thread ioprio

519-527
항목한국어 전문 번역
What/sys/fs/f2fs/<disk>/ckpt_thread_ioprio
Date2021년 1월
Contact"Daeho Jeong" <[email protected]>
DescriptionCheckpoint merge daemon의 I/O priority를 변경합니다. Default `be,3`은 BE I/O class와 priority 3을 뜻합니다. Class는 `rt` 또는 `be`, priority는 해당 class의 valid range에서 선택하며 class와 number 사이에 comma delimiter가 반드시 필요합니다.
Checkpoint daemon I/O priority
ExampleClassPriority
be,3Best effort3

Class와 priority를 comma로 결합합니다.

F2FS ovp segments

528-532
항목한국어 전문 번역
What/sys/fs/f2fs/<disk>/ovp_segments
Date2021년 3월
Contact"Jaegeuk Kim" <[email protected]>
DescriptionOverprovision segments 수를 표시합니다.

F2FS compr written block

533-540
항목한국어 전문 번역
What/sys/fs/f2fs/<disk>/compr_written_block
Date2021년 3월
Contact"Daeho Jeong" <[email protected]>
DescriptionMount 뒤 compression을 거쳐 write한 block count를 표시합니다. Compressed blocks가 삭제되어도 감소하지 않습니다. `0`을 쓰면 `compr_written_block`과 `compr_saved_block`을 모두 0으로 초기화합니다.

F2FS compr saved block

541-548
항목한국어 전문 번역
What/sys/fs/f2fs/<disk>/compr_saved_block
Date2021년 3월
Contact"Daeho Jeong" <[email protected]>
DescriptionMount 뒤 compression으로 절약한 block count를 표시합니다. Compressed blocks가 삭제되어도 감소하지 않습니다. `0`을 쓰면 `compr_written_block`과 `compr_saved_block`을 모두 0으로 초기화합니다.

F2FS compr new inode

549-556
항목한국어 전문 번역
What/sys/fs/f2fs/<disk>/compr_new_inode
Date2021년 3월
Contact"Daeho Jeong" <[email protected]>
DescriptionMount 뒤 새로 compression이 enabled된 inode 수를 표시합니다. Files에서 compression을 disable해도 감소하지 않습니다. `0`을 쓰면 `compr_new_inode`를 0으로 초기화합니다.
F2FS compression counters
AttributeMeaningReset
compr_written_blockCompressed blocks writtenWrite 0; also resets saved
compr_saved_blockBlocks saved by compressionWrite 0; also resets written
compr_new_inodeNew compression-enabled inodesWrite 0

Mount 이후 누적되며 삭제·disable로 감소하지 않는 counters입니다.

F2FS atgc candidate ratio

557-563
항목한국어 전문 번역
What/sys/fs/f2fs/<disk>/atgc_candidate_ratio
Date2021년 5월
Contact"Chao Yu" <[email protected]>
DescriptionATGC가 enabled일 때 전체 candidates 중 potential victims의 총수를 제한하는 candidate ratio입니다. 범위는 0부터 100이고 default는 20%입니다.

F2FS atgc candidate count

564-570
항목한국어 전문 번역
What/sys/fs/f2fs/<disk>/atgc_candidate_count
Date2021년 5월
Contact"Chao Yu" <[email protected]>
DescriptionATGC가 enabled일 때 전체 candidates 중 potential victims의 총수를 제한하는 candidate count입니다. Default는 10 sections입니다.

F2FS atgc age weight

571-577
항목한국어 전문 번역
What/sys/fs/f2fs/<disk>/atgc_age_weight
Date2021년 5월
Contact"Chao Yu" <[email protected]>
DescriptionATGC가 enabled일 때 aging과 valid blocks 사이의 weight 비율을 조정하는 age weight입니다. 범위는 0부터 100이고 default는 60%입니다.

F2FS atgc age threshold

578-584
항목한국어 전문 번역
What/sys/fs/f2fs/<disk>/atgc_age_threshold
Date2021년 5월
Contact"Chao Yu" <[email protected]>
DescriptionATGC가 enabled일 때 threshold를 넘지 않은 young candidates의 GC를 건너뛰는 age threshold입니다. Default는 604800 seconds, 즉 7 days입니다.

F2FS atgc enabled

585-590
항목한국어 전문 번역
What/sys/fs/f2fs/<disk>/atgc_enabled
Date2024년 2월
Contact"Jinbao Liu" <[email protected]>
DescriptionATGC enable 상태를 나타냅니다. `1`은 on, `0`은 off입니다.
F2FS ATGC controls
AttributeRange or default
atgc_candidate_ratio0..100, default 20%
atgc_candidate_countDefault 10 sections
atgc_age_weight0..100, default 60%
atgc_age_thresholdDefault 604800 s / 7 days
atgc_enabled1 on, 0 off

Candidate limiting과 age weighting parameters입니다.

F2FS gc reclaimed segments

591-598
항목한국어 전문 번역
What/sys/fs/f2fs/<disk>/gc_reclaimed_segments
Date2021년 7월
Contact"Daeho Jeong" <[email protected]>
Description선택한 GC mode에서 reclaim한 segments 수를 표시합니다. Modes는 `0` normal, `1` idle Cost Benefit, `2` idle greedy, `3` idle age-threshold, `4` urgent high, `5` urgent low, `6` urgent mid입니다. `0`으로 다시 초기화할 수 있습니다.
F2FS reclaimed-segment GC modes
ValueMode
0GC normal
1GC idle Cost Benefit
2GC idle greedy
3GC idle age-threshold
4GC urgent high
5GC urgent low
6GC urgent mid

Counter가 선택할 수 있는 GC mode IDs입니다.

F2FS gc segment mode

599-604
항목한국어 전문 번역
What/sys/fs/f2fs/<disk>/gc_segment_mode
Date2021년 7월
Contact"Daeho Jeong" <[email protected]>
Description`gc_reclaimed_segments`가 어느 GC mode의 값을 표시할지 선택합니다. Mode 정의는 `gc_reclaimed_segments` 설명을 따릅니다.

F2FS seq file ra mul

605-610
항목한국어 전문 번역
What/sys/fs/f2fs/<disk>/seq_file_ra_mul
Date2021년 7월
Contact"Daeho Jeong" <[email protected]>
Description`POSIX_FADV_SEQUENTIAL` advise에 사용할 BDI device readahead window-size multiplier를 2부터 256 사이로 제어합니다. Default는 2입니다.

F2FS max fragment chunk

611-618
항목한국어 전문 번역
What/sys/fs/f2fs/<disk>/max_fragment_chunk
Date2021년 8월
Contact"Daeho Jeong" <[email protected]>
Description`mode=fragment:block` mount option에서 block allocation을 흩뜨리기 위한 chunk 크기입니다. F2FS는 `1..<max_fragment_chunk>` blocks를 할당한 뒤 `1..<max_fragment_hole>` 길이의 hole을 번갈아 만듭니다. 범위는 1부터 512이고 default는 4입니다.

F2FS max fragment hole

619-626
항목한국어 전문 번역
What/sys/fs/f2fs/<disk>/max_fragment_hole
Date2021년 8월
Contact"Daeho Jeong" <[email protected]>
Description`mode=fragment:block` mount option에서 block allocation 사이에 만들 hole의 최대 길이입니다. F2FS는 chunk allocation과 `1..<max_fragment_hole>` hole을 번갈아 만듭니다. 범위는 1부터 512이고 default는 4입니다.
Fragmented allocation pattern
Allocate 1..<max_fragment_chunk> blocksCreate 1..<max_fragment_hole> block holeRepeat chunk and hole

`mode=fragment:block`에서 chunk와 hole을 번갈아 만듭니다.

F2FS gc remaining trials

627-633
항목한국어 전문 번역
What/sys/fs/f2fs/<disk>/gc_remaining_trials
Date2022년 10월
Contact"Yangtao Li" <[email protected]>
DescriptionGC urgent·idle mode의 trial-count limit를 설정합니다. GC thread가 limit에 도달하면 normal mode로 돌아갑니다. Default 0은 제한이 없음을 뜻합니다.

F2FS max roll forward node blocks

634-639
항목한국어 전문 번역
What/sys/fs/f2fs/<disk>/max_roll_forward_node_blocks
Date2022년 1월
Contact"Jaegeuk Kim" <[email protected]>
DescriptionRoll-forward recovery에 사용할 node-block writes의 maximum을 제어하여 recovery time을 제한합니다.

F2FS unusable blocks per sec

640-645
항목한국어 전문 번역
What/sys/fs/f2fs/<disk>/unusable_blocks_per_sec
Date2022년 6월
Contact"Jaegeuk Kim" <[email protected]>
DescriptionUnderlying zoned device가 보고한 zone capacity로 정의되는 section당 unusable blocks 수를 표시합니다.

F2FS current atomic write

646-651
항목한국어 전문 번역
What/sys/fs/f2fs/<disk>/current_atomic_write
Date2022년 7월
Contact"Daeho Jeong" <[email protected]>
Description아직 commit되지 않은 current atomic-write blocks의 전체 수를 표시하는 read-only entry입니다.

F2FS peak atomic write

652-657
항목한국어 전문 번역
What/sys/fs/f2fs/<disk>/peak_atomic_write
Date2022년 7월
Contact"Daeho Jeong" <[email protected]>
DescriptionBoot 뒤 current atomic-write block count가 기록한 peak를 표시합니다. `0`을 쓰면 0으로 초기화합니다.

F2FS committed atomic block

658-663
항목한국어 전문 번역
What/sys/fs/f2fs/<disk>/committed_atomic_block
Date2022년 7월
Contact"Daeho Jeong" <[email protected]>
DescriptionBoot 뒤 commit된 atomic-write blocks의 누적 전체 수를 표시합니다. `0`을 쓰면 0으로 초기화합니다.

F2FS revoked atomic block

664-669
항목한국어 전문 번역
What/sys/fs/f2fs/<disk>/revoked_atomic_block
Date2022년 7월
Contact"Daeho Jeong" <[email protected]>
DescriptionBoot 뒤 revoke된 atomic-write blocks의 누적 전체 수를 표시합니다. `0`을 쓰면 0으로 초기화합니다.
F2FS atomic-write counters
AttributeScopeReset
current_atomic_writeCurrent uncommittedRead-only
peak_atomic_writePeak after bootWrite 0
committed_atomic_blockAccumulated committed after bootWrite 0
revoked_atomic_blockAccumulated revoked after bootWrite 0

Current, peak, committed와 revoked block counts입니다.

F2FS gc mode

670-675
항목한국어 전문 번역
What/sys/fs/f2fs/<disk>/gc_mode
Date2022년 10월
Contact"Yangtao Li" <[email protected]>
DescriptionCurrent `gc_mode`를 string으로 표시하는 read-only entry입니다.

F2FS discard urgent util

676-683
항목한국어 전문 번역
What/sys/fs/f2fs/<disk>/discard_urgent_util
Date2022년 11월
Contact"Yangtao Li" <[email protected]>
DescriptionSpace utilization이 이 threshold를 넘으면 background DISCARD를 공격적으로 수행합니다. Pending discards가 0이 아니면 `min_discard_issue_time` 주기로 DISCARD를 강제하고 granularity를 1로 설정합니다. Default는 80입니다.

F2FS hot data age threshold

684-690
항목한국어 전문 번역
What/sys/fs/f2fs/<disk>/hot_data_age_threshold
Date2022년 11월
Contact"Ping Xiong" <[email protected]>
DescriptionDATA SEPARATION이 enabled일 때 data blocks를 hot으로 표시할 age threshold입니다. Default는 262144 blocks, 즉 1 GB입니다.

F2FS warm data age threshold

691-697
항목한국어 전문 번역
What/sys/fs/f2fs/<disk>/warm_data_age_threshold
Date2022년 11월
Contact"Ping Xiong" <[email protected]>
DescriptionDATA SEPARATION이 enabled일 때 data blocks를 warm으로 표시할 age threshold입니다. Default는 2621440 blocks, 즉 10 GB입니다.

F2FS fault rate

698-704
항목한국어 전문 번역
What/sys/fs/f2fs/<disk>/fault_rate
Date2016년 5월
Contact"Sheng Yong" <[email protected]>, "Chao Yu" <[email protected]>
Description지정한 injection rate로 지원하는 모든 fault types의 fault injection을 enable합니다.

F2FS fault type

705-741
항목한국어 전문 번역
What/sys/fs/f2fs/<disk>/fault_type
Date2016년 5월
Contact"Sheng Yong" <[email protected]>, "Chao Yu" <[email protected]>
Description`fault_injection` option과 함께 사용할 fault-injection type bitmask를 설정합니다. 단일 type 또는 여러 types의 OR 조합을 지원합니다. Type values는 `FAULT_KMALLOC 0x00000001`, `FAULT_KVMALLOC 0x00000002`, `FAULT_PAGE_ALLOC 0x00000004`, `FAULT_PAGE_GET 0x00000008`, obsolete `FAULT_ALLOC_BIO 0x00000010`, `FAULT_ALLOC_NID 0x00000020`, `FAULT_ORPHAN 0x00000040`, `FAULT_BLOCK 0x00000080`, `FAULT_DIR_DEPTH 0x00000100`, `FAULT_EVICT_INODE 0x00000200`, `FAULT_TRUNCATE 0x00000400`, `FAULT_READ_IO 0x00000800`, `FAULT_CHECKPOINT 0x00001000`, `FAULT_DISCARD 0x00002000`, `FAULT_WRITE_IO 0x00004000`, `FAULT_SLAB_ALLOC 0x00008000`, `FAULT_DQUOT_INIT 0x00010000`, `FAULT_LOCK_OP 0x00020000`, `FAULT_BLKADDR_VALIDITY 0x00040000`, `FAULT_BLKADDR_CONSISTENCE 0x00080000`, `FAULT_NO_SEGMENT 0x00100000`, `FAULT_INCONSISTENT_FOOTER 0x00200000`, `FAULT_TIMEOUT 0x00400000`(1000 ms), `FAULT_VMALLOC 0x00800000`입니다.
F2FS fault_type values
TypeValue
FAULT_KMALLOC0x00000001
FAULT_KVMALLOC0x00000002
FAULT_PAGE_ALLOC0x00000004
FAULT_PAGE_GET0x00000008
FAULT_ALLOC_BIO (obsolete)0x00000010
FAULT_ALLOC_NID0x00000020
FAULT_ORPHAN0x00000040
FAULT_BLOCK0x00000080
FAULT_DIR_DEPTH0x00000100
FAULT_EVICT_INODE0x00000200
FAULT_TRUNCATE0x00000400
FAULT_READ_IO0x00000800
FAULT_CHECKPOINT0x00001000
FAULT_DISCARD0x00002000
FAULT_WRITE_IO0x00004000
FAULT_SLAB_ALLOC0x00008000
FAULT_DQUOT_INIT0x00010000
FAULT_LOCK_OP0x00020000
FAULT_BLKADDR_VALIDITY0x00040000
FAULT_BLKADDR_CONSISTENCE0x00080000
FAULT_NO_SEGMENT0x00100000
FAULT_INCONSISTENT_FOOTER0x00200000
FAULT_TIMEOUT0x00400000 / 1000 ms
FAULT_VMALLOC0x00800000

단일 또는 OR-combined fault injection bitmask입니다.

F2FS discard io aware gran

742-750
항목한국어 전문 번역
What/sys/fs/f2fs/<disk>/discard_io_aware_gran
Date2023년 1월
Contact"Yangtao Li" <[email protected]>
DescriptionIdle 상태가 아닐 때 내부 discard thread의 background discard granularity를 제어합니다. Thread는 이보다 작은 discard를 발행하지 않습니다. 단위는 4 KB block이고 범위는 0부터 512, default는 512입니다.

F2FS last age weight

751-755
항목한국어 전문 번역
What/sys/fs/f2fs/<disk>/last_age_weight
Date2023년 1월
Contact"Ping Xiong" <[email protected]>
DescriptionDATA SEPARATION이 enabled일 때 마지막 data block age의 weight를 제어합니다.

F2FS compress watermark

756-763
항목한국어 전문 번역
What/sys/fs/f2fs/<disk>/compress_watermark
Date2023년 2월
Contact"Yangtao Li" <[email protected]>
DescriptionCompression cache가 enabled일 때 compressed-page caching을 제한하는 free-memory watermark입니다. Free memory가 watermark보다 낮으면 compressed page를 cache하지 않습니다. 범위는 0 초과 100 이하이고 default는 20%입니다.

F2FS compress percent

764-772
항목한국어 전문 번역
What/sys/fs/f2fs/<disk>/compress_percent
Date2023년 2월
Contact"Yangtao Li" <[email protected]>
DescriptionCompression cache가 enabled일 때 `compressed pages / free RAM` 비율을 제한합니다. Cached-page percentage가 threshold를 넘으면 compressed page caching을 거부합니다. 범위는 0 초과 100 이하이고 default는 20%입니다.
F2FS compressed-page cache limits
AttributeDeny caching whenRangeDefault
compress_watermarkFree memory below watermark(0, 100]20%
compress_percentCompressed pages / free RAM above threshold(0, 100]20%

Memory watermark와 cache percentage를 함께 적용합니다.

F2FS discard io aware

773-778
항목한국어 전문 번역
What/sys/fs/f2fs/<disk>/discard_io_aware
Date2023년 11월
Contact"Chao Yu" <[email protected]>
DescriptionBackground discard의 I/O-aware feature를 enable하거나 disable합니다. Default 1은 I/O-aware가 on임을 뜻합니다.

F2FS blkzone alloc policy

779-792
항목한국어 전문 번역
What/sys/fs/f2fs/<disk>/blkzone_alloc_policy
Date2024년 7월
Contact"Yuanhong Liao" <[email protected]>
DescriptionConventional zones와 sequential zones로 구성된 zoned UFS에서 write allocation 우선순위를 정합니다. Default `0`은 sequential zones 우선, `1`은 sequential zones에만 write 허용, `2`는 conventional zones 우선입니다.
F2FS zoned allocation policy
ValuePolicy
0Prioritize sequential zones
1Sequential zones only
2Prioritize conventional zones

Sequential·conventional zone write priority입니다.

F2FS migration window granularity

793-800
항목한국어 전문 번역
What/sys/fs/f2fs/<disk>/migration_window_granularity
Date2024년 9월
Contact"Daeho Jeong" <[email protected]>
DescriptionLarge section GC의 migration scanning-window granularity를 segments 단위로 제어합니다. `migration_granularity`가 한 번에 옮길 segment 수를 제어하는 것과 달리 이 값은 scan window 크기를 정합니다.

F2FS reserved segments

801-806
항목한국어 전문 번역
What/sys/fs/f2fs/<disk>/reserved_segments
Date2024년 9월
Contact"Daeho Jeong" <[email protected]>
DescriptionGC behavior를 세밀하게 조정하기 위한 reserved segments 수를 제어합니다.

F2FS gc no zoned gc percent

807-813
항목한국어 전문 번역
What/sys/fs/f2fs/<disk>/gc_no_zoned_gc_percent
Date2024년 9월
Contact"Daeho Jeong" <[email protected]>
Description전체 sections 중 free sections 비율이 이 값보다 높으면 background GC thread가 zoned devices에 GC를 수행하지 않습니다. Default는 60입니다.

F2FS gc boost zoned gc percent

814-820
항목한국어 전문 번역
What/sys/fs/f2fs/<disk>/gc_boost_zoned_gc_percent
Date2024년 9월
Contact"Daeho Jeong" <[email protected]>
Description전체 sections 중 free sections 비율이 이 값보다 낮으면 background GC thread가 zoned-device GC를 boost합니다. Default는 25입니다.

F2FS gc valid thresh ratio

821-828
항목한국어 전문 번역
What/sys/fs/f2fs/<disk>/gc_valid_thresh_ratio
Date2024년 9월
Contact"Daeho Jeong" <[email protected]>
DescriptionZoned devices에서 excessive GC를 막기 위한 valid-block ratio threshold입니다. Initial value는 95%이며 section의 valid-block ratio가 이를 넘으면 background GC thread가 그 section에 GC를 시작하지 않습니다.
F2FS zoned-GC thresholds
AttributeThresholdEffect
gc_no_zoned_gc_percentDefault 60Above: do not run zoned GC
gc_boost_zoned_gc_percentDefault 25Below: boost zoned GC
gc_valid_thresh_ratioDefault 95%Above valid ratio: skip section GC

Free-section과 valid-block ratios에 따른 background behavior입니다.

F2FS max read extent count

829-834
항목한국어 전문 번역
What/sys/fs/f2fs/<disk>/max_read_extent_count
Date2024년 11월
Contact"Chao Yu" <[email protected]>
DescriptionInode당 maximum read-extent count를 제어합니다. Default threshold는 10240입니다.

F2FS reclaim caches kb

835-841
항목한국어 전문 번역
What/sys/fs/f2fs/tuning/reclaim_caches_kb
Date2025년 2월
Contact"Jaegeuk Kim" <[email protected]>
Description`ioctl(F2FS_IOC_DONATE_RANGE)`로 등록한 file-backed pages를 지정한 KB만큼 reclaim합니다. `N`을 쓰면 LRU에서 N KB 공간을 drop하려고 합니다.

F2FS carve out

842-851
항목한국어 전문 번역
What/sys/fs/f2fs/<disk>/carve_out
Date2025년 3월
Contact"Daeho Jeong" <[email protected]>
Description일부 zoned storage vendors가 specification보다 추가로 제공하는 device-level GC 공간을 F2FS filesystem-level GC에 사용하면서 userspace에는 숨깁니다. `reserved_blocks`로 공간을 reserve한 뒤 이 node가 total bytes에서 `reserved_blocks`를 빼 표시합니다.

F2FS encoding flags

852-864
항목한국어 전문 번역
What/sys/fs/f2fs/<disk>/encoding_flags
Date2025년 4월
Contact"Chao Yu" <[email protected]>
Description`sb.s_encoding_flags` 값을 hexadecimal로 표시하는 read-only entry입니다. `SB_ENC_STRICT_MODE_FL`은 `0x00000001`, `SB_ENC_NO_COMPAT_FALLBACK_FL`은 `0x00000002`입니다.
F2FS encoding flags
FlagValue
SB_ENC_STRICT_MODE_FL0x00000001
SB_ENC_NO_COMPAT_FALLBACK_FL0x00000002

Hexadecimal `sb.s_encoding_flags` values입니다.

F2FS reserved pin section

865-873
항목한국어 전문 번역
What/sys/fs/f2fs/<disk>/reserved_pin_section
Date2025년 6월
Contact"Chao Yu" <[email protected]>
DescriptionPinned file에 `fallocate`할 때 GC trigger를 제어하는 threshold로, preallocation 전에 충분한 free reserved sections를 보장합니다. Default는 `ovp_sections`이며 zoned UFS에서는 특히 1입니다.

F2FS gc boost gc multiple

874-880
항목한국어 전문 번역
What/sys/fs/f2fs/<disk>/gc_boost_gc_multiple
Date2025년 6월
Contact"Daeho Jeong" <[email protected]>
DescriptionF2FS GC가 boosted일 때 background-GC migration window에 적용할 multiplier입니다. 범위는 1부터 section 안의 segment count까지이고 default는 5입니다.

F2FS gc boost gc greedy

881-886
항목한국어 전문 번역
What/sys/fs/f2fs/<disk>/gc_boost_gc_greedy
Date2025년 6월
Contact"Daeho Jeong" <[email protected]>
DescriptionBoost GC algorithm을 제어합니다. `0`은 Cost Benefit, `1`은 greedy이며 default는 1입니다.
F2FS boosted-GC controls
AttributeValuesDefault
gc_boost_gc_multiple1..segments per section5
gc_boost_gc_greedy0 Cost Benefit, 1 greedy1

Migration window multiplier와 algorithm입니다.

F2FS effective lookup mode

887-901
항목한국어 전문 번역
What/sys/fs/f2fs/<disk>/effective_lookup_mode
Date2025년 8월
Contact"Daniel Lee" <[email protected]>
DescriptionCasefolded directories에 F2FS가 현재 사용하는 effective lookup mode를 표시하는 read-only entry입니다. `lookup_mode` mount option과 on-disk `SB_ENC_NO_COMPAT_FALLBACK_FL`을 함께 고려합니다. `perf`는 hash-only, `compat`는 hash lookup 뒤 linear fallback, `auto:perf`는 auto이면서 on-disk fallback disabled, `auto:compat`는 auto이면서 fallback enabled입니다.
F2FS effective lookup modes
ValueBehavior
perfHash-only lookup
compatHash lookup with linear fallback
auto:perfAuto with on-disk fallback disabled
auto:compatAuto with on-disk fallback enabled

Mount option과 on-disk fallback flag의 effective 결과입니다.

F2FS bggc io aware

902-914
항목한국어 전문 번역
What/sys/fs/f2fs/<disk>/bggc_io_aware
Date2025년 8월
Contact"Liao Yuanhong" <[email protected]>
DescriptionPending I/O가 있을 때 BG_GC priority를 조정합니다. General default는 0이고 ZUFS default는 1입니다. `0`은 어떤 pending I/O든 있으면 background GC를 skip하고, `1`은 pending read I/O가 있을 때 skip하며, `2`는 background GC가 I/O를 고려하지 않습니다.
F2FS background-GC I/O awareness
ValueBehavior
0Skip for any pending I/O
1Skip for pending read I/O
2Ignore I/O for background GC

Pending I/O 종류에 따른 BG_GC skip policy입니다.

F2FS allocate section hint

915-922
항목한국어 전문 번역
What/sys/fs/f2fs/<disk>/allocate_section_hint
Date2025년 8월
Contact"Liao Yuanhong" <[email protected]>
DescriptionMulti-device setup에서 첫 device와 나머지를 가르는 hint section을 나타냅니다. Default는 section 단위로 첫 device의 끝이며 single device에서는 전체 section 수입니다. 여러 devices가 같은 device-mapper device에 mapping된 경우에 맞게 수동 설정할 수 있습니다.

F2FS allocate section policy

923-935
항목한국어 전문 번역
What/sys/fs/f2fs/<disk>/allocate_section_policy
Date2025년 8월
Contact"Liao Yuanhong" <[email protected]>
DescriptionMulti-device setup의 write priority를 제어합니다. Default `0`은 normal write, `1`은 `allocate_section_hint` 앞의 devices를 우선하고, `2`는 hint 뒤의 devices를 우선합니다.
F2FS multi-device allocation policy
ValuePolicy
0Normal writing
1Prioritize sections before hint
2Prioritize sections after hint

`allocate_section_hint`를 기준으로 write priority를 정합니다.