mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-08-26 10:49:33 +00:00
![Daniel Rosenberg](/assets/img/avatar_default.png)
Add charset encoding to f2fs to support casefolding. It is modeled after
the same feature introduced in commit c83ad55eaa
("ext4: include charset
encoding information in the superblock")
Currently this is not compatible with encryption, similar to the current
ext4 imlpementation. This will change in the future.
>From the ext4 patch:
"""
The s_encoding field stores a magic number indicating the encoding
format and version used globally by file and directory names in the
filesystem. The s_encoding_flags defines policies for using the charset
encoding, like how to handle invalid sequences. The magic number is
mapped to the exact charset table, but the mapping is specific to ext4.
Since we don't have any commitment to support old encodings, the only
encoding I am supporting right now is utf8-12.1.0.
The current implementation prevents the user from enabling encoding and
per-directory encryption on the same filesystem at the same time. The
incompatibility between these features lies in how we do efficient
directory searches when we cannot be sure the encryption of the user
provided fname will match the actual hash stored in the disk without
decrypting every directory entry, because of normalization cases. My
quickest solution is to simply block the concurrent use of these
features for now, and enable it later, once we have a better solution.
"""
Signed-off-by: Daniel Rosenberg <drosen@google.com>
Reviewed-by: Chao Yu <yuchao0@huawei.com>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
260 lines
7.9 KiB
Text
260 lines
7.9 KiB
Text
What: /sys/fs/f2fs/<disk>/gc_max_sleep_time
|
|
Date: July 2013
|
|
Contact: "Namjae Jeon" <namjae.jeon@samsung.com>
|
|
Description:
|
|
Controls the maximun sleep time for gc_thread. Time
|
|
is in milliseconds.
|
|
|
|
What: /sys/fs/f2fs/<disk>/gc_min_sleep_time
|
|
Date: July 2013
|
|
Contact: "Namjae Jeon" <namjae.jeon@samsung.com>
|
|
Description:
|
|
Controls the minimum sleep time for gc_thread. Time
|
|
is in milliseconds.
|
|
|
|
What: /sys/fs/f2fs/<disk>/gc_no_gc_sleep_time
|
|
Date: July 2013
|
|
Contact: "Namjae Jeon" <namjae.jeon@samsung.com>
|
|
Description:
|
|
Controls the default sleep time for gc_thread. Time
|
|
is in milliseconds.
|
|
|
|
What: /sys/fs/f2fs/<disk>/gc_idle
|
|
Date: July 2013
|
|
Contact: "Namjae Jeon" <namjae.jeon@samsung.com>
|
|
Description:
|
|
Controls the victim selection policy for garbage collection.
|
|
|
|
What: /sys/fs/f2fs/<disk>/reclaim_segments
|
|
Date: October 2013
|
|
Contact: "Jaegeuk Kim" <jaegeuk.kim@samsung.com>
|
|
Description:
|
|
Controls the issue rate of segment discard commands.
|
|
|
|
What: /sys/fs/f2fs/<disk>/ipu_policy
|
|
Date: November 2013
|
|
Contact: "Jaegeuk Kim" <jaegeuk.kim@samsung.com>
|
|
Description:
|
|
Controls the in-place-update policy.
|
|
|
|
What: /sys/fs/f2fs/<disk>/min_ipu_util
|
|
Date: November 2013
|
|
Contact: "Jaegeuk Kim" <jaegeuk.kim@samsung.com>
|
|
Description:
|
|
Controls the FS utilization condition for the in-place-update
|
|
policies.
|
|
|
|
What: /sys/fs/f2fs/<disk>/min_fsync_blocks
|
|
Date: September 2014
|
|
Contact: "Jaegeuk Kim" <jaegeuk@kernel.org>
|
|
Description:
|
|
Controls the dirty page count condition for the in-place-update
|
|
policies.
|
|
|
|
What: /sys/fs/f2fs/<disk>/min_seq_blocks
|
|
Date: August 2018
|
|
Contact: "Jaegeuk Kim" <jaegeuk@kernel.org>
|
|
Description:
|
|
Controls the dirty page count condition for batched sequential
|
|
writes in ->writepages.
|
|
|
|
|
|
What: /sys/fs/f2fs/<disk>/min_hot_blocks
|
|
Date: March 2017
|
|
Contact: "Jaegeuk Kim" <jaegeuk@kernel.org>
|
|
Description:
|
|
Controls the dirty page count condition for redefining hot data.
|
|
|
|
What: /sys/fs/f2fs/<disk>/min_ssr_sections
|
|
Date: October 2017
|
|
Contact: "Chao Yu" <yuchao0@huawei.com>
|
|
Description:
|
|
Controls the fee section threshold to trigger SSR allocation.
|
|
|
|
What: /sys/fs/f2fs/<disk>/max_small_discards
|
|
Date: November 2013
|
|
Contact: "Jaegeuk Kim" <jaegeuk.kim@samsung.com>
|
|
Description:
|
|
Controls the issue rate of small discard commands.
|
|
|
|
What: /sys/fs/f2fs/<disk>/discard_granularity
|
|
Date: July 2017
|
|
Contact: "Chao Yu" <yuchao0@huawei.com>
|
|
Description:
|
|
Controls discard granularity of inner discard thread, inner thread
|
|
will not issue discards with size that is smaller than granularity.
|
|
The unit size is one block, now only support configuring in range
|
|
of [1, 512].
|
|
|
|
What: /sys/fs/f2fs/<disk>/umount_discard_timeout
|
|
Date: January 2019
|
|
Contact: "Jaegeuk Kim" <jaegeuk@kernel.org>
|
|
Description:
|
|
Set timeout to issue discard commands during umount.
|
|
Default: 5 secs
|
|
|
|
What: /sys/fs/f2fs/<disk>/max_victim_search
|
|
Date: January 2014
|
|
Contact: "Jaegeuk Kim" <jaegeuk.kim@samsung.com>
|
|
Description:
|
|
Controls the number of trials to find a victim segment.
|
|
|
|
What: /sys/fs/f2fs/<disk>/migration_granularity
|
|
Date: October 2018
|
|
Contact: "Chao Yu" <yuchao0@huawei.com>
|
|
Description:
|
|
Controls migration granularity of garbage collection on large
|
|
section, it can let GC move partial segment{s} of one section
|
|
in one GC cycle, so that dispersing heavy overhead GC to
|
|
multiple lightweight one.
|
|
|
|
What: /sys/fs/f2fs/<disk>/dir_level
|
|
Date: March 2014
|
|
Contact: "Jaegeuk Kim" <jaegeuk.kim@samsung.com>
|
|
Description:
|
|
Controls the directory level for large directory.
|
|
|
|
What: /sys/fs/f2fs/<disk>/ram_thresh
|
|
Date: March 2014
|
|
Contact: "Jaegeuk Kim" <jaegeuk.kim@samsung.com>
|
|
Description:
|
|
Controls the memory footprint used by f2fs.
|
|
|
|
What: /sys/fs/f2fs/<disk>/batched_trim_sections
|
|
Date: February 2015
|
|
Contact: "Jaegeuk Kim" <jaegeuk@kernel.org>
|
|
Description:
|
|
Controls the trimming rate in batch mode.
|
|
<deprecated>
|
|
|
|
What: /sys/fs/f2fs/<disk>/cp_interval
|
|
Date: October 2015
|
|
Contact: "Jaegeuk Kim" <jaegeuk@kernel.org>
|
|
Description:
|
|
Controls the checkpoint timing.
|
|
|
|
What: /sys/fs/f2fs/<disk>/idle_interval
|
|
Date: January 2016
|
|
Contact: "Jaegeuk Kim" <jaegeuk@kernel.org>
|
|
Description:
|
|
Controls the idle timing for all paths other than
|
|
discard and gc path.
|
|
|
|
What: /sys/fs/f2fs/<disk>/discard_idle_interval
|
|
Date: September 2018
|
|
Contact: "Chao Yu" <yuchao0@huawei.com>
|
|
Contact: "Sahitya Tummala" <stummala@codeaurora.org>
|
|
Description:
|
|
Controls the idle timing for discard path.
|
|
|
|
What: /sys/fs/f2fs/<disk>/gc_idle_interval
|
|
Date: September 2018
|
|
Contact: "Chao Yu" <yuchao0@huawei.com>
|
|
Contact: "Sahitya Tummala" <stummala@codeaurora.org>
|
|
Description:
|
|
Controls the idle timing for gc path.
|
|
|
|
What: /sys/fs/f2fs/<disk>/iostat_enable
|
|
Date: August 2017
|
|
Contact: "Chao Yu" <yuchao0@huawei.com>
|
|
Description:
|
|
Controls to enable/disable IO stat.
|
|
|
|
What: /sys/fs/f2fs/<disk>/ra_nid_pages
|
|
Date: October 2015
|
|
Contact: "Chao Yu" <chao2.yu@samsung.com>
|
|
Description:
|
|
Controls the count of nid pages to be readaheaded.
|
|
|
|
What: /sys/fs/f2fs/<disk>/dirty_nats_ratio
|
|
Date: January 2016
|
|
Contact: "Chao Yu" <chao2.yu@samsung.com>
|
|
Description:
|
|
Controls dirty nat entries ratio threshold, if current
|
|
ratio exceeds configured threshold, checkpoint will
|
|
be triggered for flushing dirty nat entries.
|
|
|
|
What: /sys/fs/f2fs/<disk>/lifetime_write_kbytes
|
|
Date: January 2016
|
|
Contact: "Shuoran Liu" <liushuoran@huawei.com>
|
|
Description:
|
|
Shows total written kbytes issued to disk.
|
|
|
|
What: /sys/fs/f2fs/<disk>/features
|
|
Date: July 2017
|
|
Contact: "Jaegeuk Kim" <jaegeuk@kernel.org>
|
|
Description:
|
|
Shows all enabled features in current device.
|
|
|
|
What: /sys/fs/f2fs/<disk>/inject_rate
|
|
Date: May 2016
|
|
Contact: "Sheng Yong" <shengyong1@huawei.com>
|
|
Description:
|
|
Controls the injection rate.
|
|
|
|
What: /sys/fs/f2fs/<disk>/inject_type
|
|
Date: May 2016
|
|
Contact: "Sheng Yong" <shengyong1@huawei.com>
|
|
Description:
|
|
Controls the injection type.
|
|
|
|
What: /sys/fs/f2fs/<disk>/reserved_blocks
|
|
Date: June 2017
|
|
Contact: "Chao Yu" <yuchao0@huawei.com>
|
|
Description:
|
|
Controls target reserved blocks in system, the threshold
|
|
is soft, it could exceed current available user space.
|
|
|
|
What: /sys/fs/f2fs/<disk>/current_reserved_blocks
|
|
Date: October 2017
|
|
Contact: "Yunlong Song" <yunlong.song@huawei.com>
|
|
Contact: "Chao Yu" <yuchao0@huawei.com>
|
|
Description:
|
|
Shows current reserved blocks in system, it may be temporarily
|
|
smaller than target_reserved_blocks, but will gradually
|
|
increase to target_reserved_blocks when more free blocks are
|
|
freed by user later.
|
|
|
|
What: /sys/fs/f2fs/<disk>/gc_urgent
|
|
Date: August 2017
|
|
Contact: "Jaegeuk Kim" <jaegeuk@kernel.org>
|
|
Description:
|
|
Do background GC agressively
|
|
|
|
What: /sys/fs/f2fs/<disk>/gc_urgent_sleep_time
|
|
Date: August 2017
|
|
Contact: "Jaegeuk Kim" <jaegeuk@kernel.org>
|
|
Description:
|
|
Controls sleep time of GC urgent mode
|
|
|
|
What: /sys/fs/f2fs/<disk>/readdir_ra
|
|
Date: November 2017
|
|
Contact: "Sheng Yong" <shengyong1@huawei.com>
|
|
Description:
|
|
Controls readahead inode block in readdir.
|
|
|
|
What: /sys/fs/f2fs/<disk>/extension_list
|
|
Date: Feburary 2018
|
|
Contact: "Chao Yu" <yuchao0@huawei.com>
|
|
Description:
|
|
Used to control configure extension list:
|
|
- Query: cat /sys/fs/f2fs/<disk>/extension_list
|
|
- Add: echo '[h/c]extension' > /sys/fs/f2fs/<disk>/extension_list
|
|
- Del: echo '[h/c]!extension' > /sys/fs/f2fs/<disk>/extension_list
|
|
- [h] means add/del hot file extension
|
|
- [c] means add/del cold file extension
|
|
|
|
What: /sys/fs/f2fs/<disk>/unusable
|
|
Date April 2019
|
|
Contact: "Daniel Rosenberg" <drosen@google.com>
|
|
Description:
|
|
If checkpoint=disable, it displays the number of blocks that are unusable.
|
|
If checkpoint=enable it displays the enumber of blocks that would be unusable
|
|
if checkpoint=disable were to be set.
|
|
|
|
What: /sys/fs/f2fs/<disk>/encoding
|
|
Date July 2019
|
|
Contact: "Daniel Rosenberg" <drosen@google.com>
|
|
Description:
|
|
Displays name and version of the encoding set for the filesystem.
|
|
If no encoding is set, displays (none)
|