This mount option is to enable original log-structured filesystem forcefully.
So, there should be no random writes for main area.
Especially, this supports host-managed SMR device.
Signed-off-by: Jaegeuk Kim
---
Documentation/filesystems/f2fs.txt | 3 +++
fs/f2fs/data.c |
If a segment in a section is clean or prefreed, we don't need to get its summary
and do gc.
Signed-off-by: Jaegeuk Kim
---
fs/f2fs/gc.c | 4
1 file changed, 4 insertions(+)
diff --git a/fs/f2fs/gc.c b/fs/f2fs/gc.c
index 67fd285..e1d274c 100644
--- a/fs/f2fs/gc.c
+++ b/fs/f2fs/gc.c
@@ -795,
mkdirsync_dirty_inode
- init_inode_metadata
- lock_page(node)
- make_empty_dir
- filemap_fdatawrite()
- do_writepages
- lock_page(data)
- write_page(
There is a data race between allocate_data_block() and f2fs_sbumit_page_mbio(),
which incur unnecessary reversed bio submission.
Signed-off-by: Jaegeuk Kim
---
fs/f2fs/f2fs.h| 1 +
fs/f2fs/segment.c | 6 ++
fs/f2fs/super.c | 2 ++
3 files changed, 9 insertions(+)
diff --git a/fs/f2fs/
In f2fs, we don't need to keep block plugging for NODE and DATA writes, since
we already merged bios as much as possible.
Signed-off-by: Jaegeuk Kim
---
fs/f2fs/checkpoint.c | 4
fs/f2fs/data.c | 17 ++---
fs/f2fs/gc.c | 5 -
fs/f2fs/segment.c| 7 +--
We don't need to flush any dentry pages used by unlinked directory.
They will be truncated by f2fs_evict_inode.
Signed-off-by: Jaegeuk Kim
---
fs/f2fs/checkpoint.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/fs/f2fs/checkpoint.c b/fs/f2fs/checkpoint.c
index 4179c7b..e67
If EIO occurred, we need to set all the mapping to avoid any further IOs.
Signed-off-by: Jaegeuk Kim
---
fs/f2fs/data.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/fs/f2fs/data.c b/fs/f2fs/data.c
index c9d6fe2..30dc448 100644
--- a/fs/f2fs/data.c
+++ b/fs/f2fs/data.c
@@ -
This patch adds "-m" option to configure ZBC device.
This is to support host-managed SMR device and configure some major features
and on-disk layout in f2fs.
Signed-off-by: Jaegeuk Kim
---
include/f2fs_fs.h | 35 +++
lib/Makefile.am | 2 +-
lib/libf2fs.c | 17 ++
lib