commit | 2df886083cc2a33b7db52899e9a98053d15c72ab | [log] [tgz] |
---|---|---|
author | Dongjin Kim <dongjin_.kim@samsung.com> | Tue May 25 16:29:14 2021 +0900 |
committer | Brett Wilson <brettw@google.com> | Sat May 29 17:23:23 2021 +0000 |
tree | 58f317f6d1f5d692b9ba64a079ac708eab8adc6c | |
parent | 623bea50c72dfc23624e0bc4c11b331de8fc2bda [diff] |
[f2fs] Fix incorrect directory operations In fs_test, - For TestDirectoryReaddirRmAll of DirectoryTest, since results of readdir are not ordered by creation sequence in f2fs, check whether each readdir result is correct in an alternative way. In f2fs, - Use correct i_mode in GetProtocols. - Check must_be_dir conditions in Rename and Unlink. - Exclude ".." from results of Readdir. - Set correct return value from Readdir. - Add missing initialization for member variables of vnode. - Check whether dir is unlinked before create or rename inside the dir. Test: fx test directory-tests unlink-tests dot-dot-tests Prerequisite: FUCHSIA_DIR$ patch -p1 < \ third_party/f2fs/patches/0003-f2fs-Handle-unordered-readdir-for-f2fs-in-TestDirect.patch Change-Id: I72454f3dec3e8bd4c838a03234141a3c4da7c1ba Reviewed-on: https://fuchsia-review.googlesource.com/c/third_party/f2fs/+/536507 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)