From: Qiuyang Sun
During F2FS online resize, if panic or poweroff happens when the new SB
has been committed but not the new CP, the FS may end up with an
inconsistent state, where user_block_count and free_segment_count in CP
can be larger than allowed by the new SB.
This patch allows fsck.f2f
r.
Thanks,
From: Yuchao (T)
Sent: Wednesday, July 03, 2019 14:29
To: sunqiuyang; linux-f2fs-devel@lists.sourceforge.net; jaeg...@kernel.org
Cc: fangwei (I)
Subject: Re: [PATCH 1/1] fsck.f2fs: allow to fix inconsistency from online
resize
On 2019/7/2 15:42, sunqiuyang wrote:
> From
From: Qiuyang Sun
Multi-device metadata should be updated in resize_fs as well.
Also, we check that the new FS size still reaches the last device.
Signed-off-by: Qiuyang Sun
---
fs/f2fs/gc.c | 32 ++--
1 file changed, 30 insertions(+), 2 deletions(-)
diff --git a/
From: Qiuyang Sun
Multi-device metadata should be updated in resize_fs as well.
Also, we check that the new FS size still reaches the last device.
--
Changelog v1 => v2:
Use f2fs_is_multi_device() and some minor cleanup.
Signed-off-by: Qiuyang Sun
---
fs/f2fs/gc.c | 34 ++
From: Qiuyang Sun
For multi-device F2FS, we should check if the sum of total_segments from
all devices matches segment_count.
Signed-off-by: Qiuyang Sun
---
fs/f2fs/super.c | 15 +++
1 file changed, 15 insertions(+)
diff --git a/fs/f2fs/super.c b/fs/f2fs/super.c
index 04788a6..9a0
From: Qiuyang Sun
Do not need to convert segment counts to blocks for this calculation.
Signed-off-by: Qiuyang Sun
---
fs/f2fs/gc.c | 10 +-
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/fs/f2fs/gc.c b/fs/f2fs/gc.c
index 197ebf4..9df8cae 100644
--- a/fs/f2fs/gc.c
+++ b
From: Qiuyang Sun
Currently, a multi-device F2FS only has superblocks written in its start
device, but not the others. Thus, we cannot tell if a single device is part
of a F2FS by reading itself only, which may be unsafe in scenarios like
transferring devices between computer systems. This patch
From: Qiuyang Sun
Currently, we will leave the kernel with locks still held when the gc_range
is invalid. This patch fixes the bug.
Signed-off-by: Qiuyang Sun
---
fs/f2fs/file.c | 6 --
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/fs/f2fs/file.c b/fs/f2fs/file.c
index c4c2
From: Qiuyang Sun
Should use lstart (logical start address) instead of start (in dev) here.
This fixes a bug in multi-device scenarios.
Signed-off-by: Qiuyang Sun
---
fs/f2fs/segment.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/fs/f2fs/segment.c b/fs/f2fs/segment.c
ind
From: Qiuyang Sun
Don't use the bdev pointer in struct buffer_head for dio_bio_alloc(),
since it may have been changed to another device in the FS in
get_more_blocks().
Signed-off-by: Qiuyang Sun
---
fs/direct-io.c | 19 ++-
1 file changed, 10 insertions(+), 9 deletions(-)
dif
From: Qiuyang Sun
The physical blocks in struct f2fs_map_blocks must be in the same device.
Signed-off-by: Qiuyang Sun
---
fs/f2fs/data.c | 20 +++-
fs/f2fs/f2fs.h | 2 --
2 files changed, 19 insertions(+), 3 deletions(-)
diff --git a/fs/f2fs/data.c b/fs/f2fs/data.c
index e5c
From: Qiuyang Sun
Changelog v1 ==> v2:
1. Modify the definition of update_device_state(),
and call it in direct write;
2. Move some local variables into branches where they are used.
Signed-off-by: Qiuyang Sun
---
fs/f2fs/data.c| 25 -
fs/f2fs/f2fs.h| 3 +--
From: Qiuyang Sun
Changelog v1 ==> v2:
1. Modify the definition of update_device_state(),
and call it in direct write;
2. Move some local variables into branches where they are used.
Changelog v2 ==> v3:
Rename update_device_state() to f2fs_update_device_state() like other
exported function n
From: Qiuyang Sun
This ioctl shrinks a given length (aligned to sections) from end of the
main area. Any cursegs and valid blocks will be moved out before
invalidating the range.
This feature can be used for adjusting partition sizes online.
Signed-off-by: Qiuyang Sun
---
fs/f2fs/f2fs.h|
From: Qiuyang Sun
This ioctl shrinks a given length (aligned to sections) from end of the
main area. Any cursegs and valid blocks will be moved out before
invalidating the range.
This feature can be used for adjusting partition sizes online.
Changlog v1 ==> v2:
Sahitya Tummala:
- Add this ioc
From: Qiuyang Sun
This ioctl shrinks a given length (aligned to sections) from end of the
main area. Any cursegs and valid blocks will be moved out before
invalidating the range.
This feature can be used for adjusting partition sizes online.
Changlog v1 ==> v2:
Sahitya Tummala:
- Add this ioc
From: Qiuyang Sun
This ioctl shrinks a given length (aligned to sections) from end of the
main area. Any cursegs and valid blocks will be moved out before
invalidating the range.
This feature can be used for adjusting partition sizes online.
--
Changlog v1 ==> v2:
Sahitya Tummala:
- Add this i
From: Qiuyang Sun
This ioctl shrinks a given length (aligned to sections) from end of the
main area. Any cursegs and valid blocks will be moved out before
invalidating the range.
This feature can be used for adjusting partition sizes online.
--
Changlog v1 ==> v2:
Sahitya Tummala:
- Add this i
From: Qiuyang Sun
This ioctl shrinks a given length (aligned to sections) from end of the
main area. Any cursegs and valid blocks will be moved out before
invalidating the range.
This feature can be used for adjusting partition sizes online.
--
Changlog v1 ==> v2:
Sahitya Tummala:
- Add this i
From: Qiuyang Sun
This ioctl shrinks a given length (aligned to sections) from end of the
main area. Any cursegs and valid blocks will be moved out before
invalidating the range.
This feature can be used for adjusting partition sizes online.
--
Changlog v1 ==> v2:
Sahitya Tummala:
- Add this i
.
From: Yuchao (T)
Sent: Tuesday, June 04, 2019 9:43
To: Jaegeuk Kim
Cc: sunqiuyang; linux-ker...@vger.kernel.org; linux-fsde...@vger.kernel.org;
linux-f2fs-devel@lists.sourceforge.net
Subject: Re: [PATCH v6 1/1] f2fs: ioctl for removing a range from F2FS
On 2019/6/4 0:23, Jaegeuk Kim wrote:
> On
From: Qiuyang Sun
This ioctl shrinks a given length (aligned to sections) from end of the
main area. Any cursegs and valid blocks will be moved out before
invalidating the range.
This feature can be used for adjusting partition sizes online.
--
Changlog v1 ==> v2:
Sahitya Tummala:
- Add this i
Currently in F2FS, page faults and fallocate operations, like punch_hole
and collapse/insert/zero_range, are completely unsynchronized. This can
result in page fault faulting in a page into a range that we are changing
after truncating pagecache, and thus we can end up with a page mapped to
dis
Export interfaces of dax_map/unmap_atomic() for usage in moving data
pages of DAX files in garbage collection of F2FS.
Signed-off-by: Qiuyang Sun
---
fs/dax.c| 6 --
include/linux/dax.h | 3 +++
2 files changed, 7 insertions(+), 2 deletions(-)
diff --git a/fs/dax.c b/fs/dax.c
i
This patch implements Direct Access (DAX) in F2FS, including:
- a mount option to enable DAX
- read/write and mmap of regular files in the DAX way
- zero-out of non-aligned partial blocks in the DAX way
- garbage collection of DAX files
- incompatibility of DAX with inline data, atomic or vola
From: Qiuyang Sun
Currently in F2FS, page faults and operations that truncate the pagecahe
or data blocks, are completely unsynchronized. This can result in page
fault faulting in a page into a range that we are changing after
truncating, and thus we can end up with a page mapped to disk blocks t
From: Qiuyang Sun
Currently in F2FS, page faults and operations that truncate the pagecahe
or data blocks, are completely unsynchronized. This can result in page
fault faulting in a page into a range that we are changing after
truncating, and thus we can end up with a page mapped to disk blocks t
From: Qiuyang Sun
This patch implements Direct Access (DAX) in F2FS, including:
- a mount option to choose whether to enable DAX or not
- read/write and mmap of regular files in the DAX way
- zero-out of unaligned partial blocks in the DAX way
- garbage collection of DAX files, by mapping both ol
From: Qiuyang Sun
This is a new version of PATCH v2 2/2 with the following minor changes:
- In dax_move_data_page(), the call of allocate_data_block() is changed
according to the new definition of this function in f2fs-dev, and the
usage of wio_mutex is removed;
- put_dax() is added in f2fs_
From: Qiuyang Sun
This patch implements Direct Access (DAX) in F2FS.
Signed-off-by: Qiuyang Sun
---
Changelog v3 -> v4:
In f2fs_iomap_begin():
- For the write branch, if f2fs_map_blocks() returns error (probably due to
ENOSPC), the allocated blocks beyond original_i_size are truncated.
-
From: Qiuyang Sun
This patch implements Direct Access (DAX) in F2FS, including:
- a mount option to choose whether to enable DAX or not
- read/write and mmap of regular files in the DAX way
- zero-out of unaligned partial blocks in the DAX way
- garbage collection of DAX files, by mapping both ol
From: Qiuyang Sun
This patch implements Direct Access (DAX) in F2FS, including:
- a mount option to choose whether to enable DAX or not
- read/write and mmap of regular files in the DAX way
- zero-out of unaligned partial blocks in the DAX way
- garbage collection of DAX files, by mapping both ol
From: Qiuyang Sun
This patch implements Direct Access (DAX) in F2FS, including:
- a mount option to choose whether to enable DAX or not
- read/write and mmap of regular files in the DAX way
- zero-out of unaligned partial blocks in the DAX way
- garbage collection of DAX files, by mapping both ol
From: Qiuyang Sun
This patch implements Direct Access (DAX) in F2FS, including:
- a mount option to choose whether to enable DAX or not
- read/write and mmap of regular files in the DAX way
- zero-out of unaligned partial blocks in the DAX way
- garbage collection of DAX files, by mapping bot
Hi Jaegeuk,
OK, I agree with your modification.
Thanks,
From: Jaegeuk Kim [jaeg...@kernel.org]
Sent: Saturday, July 22, 2017 6:09
To: kbuild test robot
Cc: sunqiuyang; kbuild-...@01.org; linux-f2fs-devel@lists.sourceforge.net
Subject: Re: [f2fs:dev-test
_inode_flags()
Thanks,
From: Jaegeuk Kim [jaeg...@kernel.org]
Sent: Wednesday, July 26, 2017 10:16
To: Dan Williams
Cc: sunqiuyang; Linux Kernel Mailing List; linux-fsdevel;
linux-f2fs-devel@lists.sourceforge.net; linux-nvd...@lists.01.org
Subject: Re: [PATCH v8 1/1] f2fs: dax: impl
From: Qiuyang Sun
Currently, the two flags F2FS_GET_BLOCK_[READ|DIO] are totally equivalent
and can be used interchangably in all scenarios they are involved in. This
patch deletes F2FS_GET_BLOCK_READ and uses F2FS_GET_BLOCK_DIO instead.
Signed-off-by: Qiuyang Sun
---
fs/f2fs/data.c | 2 +-
fs
From: Qiuyang Sun
Currently, the two flags F2FS_GET_BLOCK_[READ|DIO] are totally equivalent
and can be used interchangably in all scenarios they are involved in.
Neither of the flags is referenced in f2fs_map_blocks(), making them both
the default case. To remove the ambiguity, this patch merge
38 matches
Mail list logo