commit | 96dc3f8c761108d28226e02a25dac140ee3ee41a | [log] [tgz] |
---|---|---|
author | Seokhwan Kim <sukka.kim@samsung.com> | Tue Jun 01 23:10:53 2021 +0900 |
committer | Brett Wilson <brettw@google.com> | Thu Jun 03 03:24:00 2021 +0000 |
tree | 2c9ae608ed67b929cc49bb8810458148784b9db3 | |
parent | 4a63f6da96e340c2ffd18cf613829afea0999da0 [diff] |
[f2fs] Support ssr block allocation It implements the ssr block allocation, and it is triggered when # of freesections < # of OP sections. For testing, it introduces a new gn variable 'f2fs_force_ssr' that enforces every block allocation in a ssr manner if it is set to true. Test: fx test fs-tests Failed tests: RwFullDiskTest.PartialWriteSucceedsForFullDisk/F2fs Test: - linux host: fx emu -N --headless -hda third_party/f2fs/test_files/blk1g.bin - fuchsia vm: mkdir /tmp/data;mount /dev/class/block/000 /tmp/data cp /tmp/data/100mb.bin /tmp/data/100mb.bin.2 umount /tmp/data;dm shutdown - linux host: fsck.f2fs third_party/f2fs/test_files/blk1g.bin mount third_party/f2fs/test_files/blk1g.bin ~/mnt diff ~/mnt/100mb.bin ~/mnt/100mb.bin.2 umount ~/mnt Prerequisite: set f2fs_force_ssr to true Change-Id: I0dae89c935797eacba96b34fca56a7e0808d5aa2 Reviewed-on: https://fuchsia-review.googlesource.com/c/third_party/f2fs/+/536745 Reviewed-by: Brett Wilson <brettw@google.com>
F2FS is the most commonly used log-structured file system in Linux. It supports flash-friendly features such as adaptive logging, multi-head logging, fsync acceleration, and node address translation. For more information see: https://www.usenix.org/conference/fast15/technical-sessions/presentation/lee
$ fx set core.x64 --with-base //bundles:tools --with-base //bundles:tests --with-base third_party/f2fs $ fx emu -N --headless (see third_party/f2fs/test_files/README.md for test)