On 08/14, Chao Yu wrote:
> SQLite AppGC Thread Shrinker
> - f2fs_ioc_start_atomic_write
>
> - f2fs_ioc_commit_atomic_write
> - f2fs_commit_atomic_write
> - filemap_write_and_wait_range
> : write atomic_file's data to cow_inode
>
On 08/27, Julian Sun wrote:
> Hi, all.
>
> Recently syzbot reported a bug as following:
>
> kernel BUG at fs/f2fs/inode.c:896!
> CPU: 1 UID: 0 PID: 5217 Comm: syz-executor605 Not tainted
> 6.11.0-rc4-syzkaller-00033-g872cf28b8df9 #0
> RIP: 0010:f2fs_evict_inode+0x1598/0x15c0 fs/f2fs/inode.c:896
On 09/03, Chao Yu wrote:
> On 2024/9/2 21:01, Julian Sun wrote:
> > On Mon, 2024-09-02 at 16:13 +0800, Chao Yu wrote:
> > > > On 2024/8/29 0:54, Julian Sun wrote:
> > > > > > Hi, all.
> > > > > >
> > > > > > Recently syzbot reported a bug as following:
> > > > > >
> > > > > > kernel BUG at fs/f2f
On 09/03, Sheng Yong wrote:
> Hi, Jaegeuk,
>
> I noticed that this commit is not queued in either dev or master branch.
> Do you have any comments on this commit :-)
Thanks, I missed. Let me queue in the branches. :)
>
> thanks,
> shengyong
>
> On 2024/7/4 10:57, Sheng Yong wrote:
> > This pat
On 09/06, Chao Yu wrote:
> On 2024/9/6 16:31, Wu Bo wrote:
> > On Tue, Feb 20, 2024 at 02:50:11PM +0800, Chao Yu wrote:
> > > On 2024/2/8 16:11, Wu Bo wrote:
> > > > On 2024/2/5 11:54, Chao Yu wrote:
> > > > > How about calling f2fs_balance_fs() to double check and make sure
> > > > > there is
> >
Applied this change for Android build.
--- a/fsck/mount.c
+++ b/fsck/mount.c
@@ -4222,7 +4222,7 @@ int f2fs_sparse_initialize_meta(struct f2fs_sb_info *sbi)
DBG(1, "\tSparse: filling sit area at block offset: 0x%08"PRIx64" len:
%u\n",
+627,7 @@ static int __dev_write(void *buf, __u64 offset, size_t len,
enum rw_hint whint)
if (ret != -1)
c.whint = whint;
}
+#endif
if (write(fd, buf, len) < 0)
return -1;
On 09/07, Jaegeuk Kim via Linux-f2fs-devel wrot
On 09/11, Daeho Jeong wrote:
> From: Daeho Jeong
>
> We need to migrate data blocks even though it is full to secure space
> for zoned device file pinning.
>
> Signed-off-by: Daeho Jeong
> Fixes: 9703d69d9d15 ("f2fs: support file pinning for zoned devices")
> ---
> fs/f2fs/gc.c | 3 +--
> 1 fi
On 09/13, Daeho Jeong wrote:
> From: Daeho Jeong
>
> We can add a device aliasing file which can map the whole device with an
> extent, not using node blocks. This mapped area should be pinned and
> normally used for read-only usages. After finished using it, we can
> deallocate the whole area an
This patch allows f2fs to submit bios of in-place writes on pinned file.
Signed-off-by: Jaegeuk Kim
---
fs/f2fs/sysfs.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/fs/f2fs/sysfs.c b/fs/f2fs/sysfs.c
index d18931b7b094..c56e8c873935 100644
--- a/fs/f2fs/sysfs.c
+++ b/fs/f
On 09/16, Daeho Jeong wrote:
> On Fri, Sep 13, 2024 at 3:27 PM Jaegeuk Kim wrote:
> >
> > On 09/13, Daeho Jeong wrote:
> > > From: Daeho Jeong
> > >
> > > We can add a device aliasing file which can map the whole device with an
> > > extent, not using node blocks. This mapped area should be pinne
From: Jaegeuk Kim
commit 3d65293a52c2c3850c19b1e5115712e534d8 upstream.
We must flush all the dirty data when enabling checkpoint back. Let's guarantee
that first by adding a retry logic on sync_inodes_sb(). In addition to that,
this patch adds to flush data in fsync when checkpoint is disab
It's complicated to address libc and kernel headers.
Signed-off-by: Jaegeuk Kim
---
lib/libf2fs_io.c | 10 +-
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/lib/libf2fs_io.c b/lib/libf2fs_io.c
index 1923c0b87dfc..520ae0362fd4 100644
--- a/lib/libf2fs_io.c
+++ b/lib/libf2fs
Signed-off-by: Jaegeuk Kim
---
tools/f2fs_io/f2fs_io.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/tools/f2fs_io/f2fs_io.c b/tools/f2fs_io/f2fs_io.c
index 5b67a92e0947..bcf9f491c14d 100644
--- a/tools/f2fs_io/f2fs_io.c
+++ b/tools/f2fs_io/f2fs_io.c
@@ -926,7 +926,7 @@ stat
On 10/14, Christoph Hellwig wrote:
> On Mon, Oct 14, 2024 at 04:42:07PM +, Jaegeuk Kim wrote:
> > >
> > > Plz, refer to this patch and the description there.
> > >
> > > https://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs-tools.git/commit/?h=dev-test&id=8cc4e257ec20bee207bb034d5ac406
Signed-off-by: Jaegeuk Kim
---
mkfs/f2fs_format_utils.c | 5 +
1 file changed, 5 insertions(+)
diff --git a/mkfs/f2fs_format_utils.c b/mkfs/f2fs_format_utils.c
index 1c2003e8d107..1a9746a77184 100644
--- a/mkfs/f2fs_format_utils.c
+++ b/mkfs/f2fs_format_utils.c
@@ -48,6 +48,11 @@ static int
This adds a way to boost read performance by giving fadvise.
Signed-off-by: Jaegeuk Kim
---
tools/f2fs_io/f2fs_io.c | 27 ---
1 file changed, 20 insertions(+), 7 deletions(-)
diff --git a/tools/f2fs_io/f2fs_io.c b/tools/f2fs_io/f2fs_io.c
index 8fbad3c8e563..5b67a92e0947
On 10/10, Yonggil Song wrote:
> There was a problem that did not subtract the super block area when
> calculating
> the usable segments for a single zoned device with a conventional zone.
> This resulted in incorrect the overprovision and reserved area.
>
> <256MiB legacy block + zoned bloc
Hi Ryan,
On 10/02, Ryan Roberts wrote:
> Hi Jaegeuk Kim, Chao Yu,
>
> I heard (via Matthew Wilcox) that you may be in the process of forming plans
> to
> add large folio support to f2fs? If so, I wonder if you could let me know how
> those plans are progressing? I saw your v6.12-rc1 pull request
On 09/19, Zhiguo Niu wrote:
> Hi all,
> please ignore this patch, we can resove this by "-b" parameter .
> thanks!
Ok, thanks.
> Zhiguo Niu 于2024年9月14日周六 11:12写道:
> >
> > When 16K page/block size is enabled in Android platform,
> > a error maybe detected in mount process in kernel if "-b"
> > p
Hi Chao,
This introduces another bitmap increasing memory footprint. Do we know how
much performance benefit with this?
On 04/11, Chao Yu wrote:
> After commit 899fee36fac0 ("f2fs: fix to avoid data corruption by
> forbidding SSR overwrite"), valid block bitmap of current openned
> segment is fix
2573 void f2fs_invalidate_consecutive_blocks(struct f2fs_sb_info *sbi, block_t
addr, int cnt)
2574 {
2575 unsigned int segno = GET_SEGNO(sbi, addr);
2576 unsigned int segno2 = GET_SEGNO(sbi, addr + cnt - 1);
2577 struct sit_info *sit_i = SIT_I(sbi);
2578
2579 f2fs_b
On 10/16, Chao Yu wrote:
> In __get_segment_type(), __get_segment_type_6() may return
> CURSEG_COLD_DATA_PINNED or CURSEG_ALL_DATA_ATGC log type, but
> following f2fs_get_segment_temp() can only handle persistent
> log type, fix it.
>
> Signed-off-by: Chao Yu
> ---
> fs/f2fs/f2fs.h| 5 +++--
On 10/18, Chao Yu wrote:
> blkzoned feature enables lfs mode by default, for data updates from
> regular file, it only allow to use OPU, this patch changes to allow
> to use IPU if regular file's data block locates in regular block
> device, if data block locates in zoned block device, it still use
On 10/17, Chao Yu wrote:
> In __get_segment_type(), __get_segment_type_6() may return
> CURSEG_COLD_DATA_PINNED or CURSEG_ALL_DATA_ATGC log type, but
> following f2fs_get_segment_temp() can only handle persistent
> log type, fix it.
>
> Signed-off-by: Chao Yu
> ---
> v2:
> - initialize variable i
This fixes a regression which prevents parallel DIO reads.
Fixes: 0cac51185e65 ("f2fs: fix to avoid racing in between read and OPU dio
write")
Signed-off-by: Jaegeuk Kim
---
fs/f2fs/file.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/fs/f2fs/file.c b/fs/f2fs/file.c
inde
On 10/14, Daeho Jeong wrote:
> On Sun, Oct 13, 2024 at 10:56 PM Christoph Hellwig wrote:
> >
> > On Thu, Oct 10, 2024 at 12:26:26PM -0700, Daeho Jeong wrote:
> > > From: Daeho Jeong
> > >
> > > F2FS should understand how the device aliasing file works and support
> > > deleting the file after use
Hi Linus,
Could you please consider applying this patch in f2fs?
Thanks,
The following changes since commit 8cf0b93919e13d1e8d4466eb4080a4c4d9d66d7b:
Linux 6.12-rc2 (2024-10-06 15:32:27 -0700)
are available in the Git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2
The existing bool definition is broken for c23, where bool is now a keyword.
Signed-off-by: Elliott Hughes
Signed-off-by: Jaegeuk Kim
---
include/f2fs_fs.h | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)
diff --git a/include/f2fs_fs.h b/include/f2fs_fs.h
index 9534da98ca53..0cb9228288
This patch improves the randread test:
- add mmap
- add fadvise option
- show performance results
Signed-off-by: Jaegeuk Kim
---
tools/f2fs_io/f2fs_io.c | 60 +
1 file changed, 49 insertions(+), 11 deletions(-)
diff --git a/tools/f2fs_io/f2fs_io.c b/to
Signed-off-by: Jaegeuk Kim
---
tools/f2fs_io/f2fs_io.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/tools/f2fs_io/f2fs_io.c b/tools/f2fs_io/f2fs_io.c
index 837f8a9fa247..487040ad21d4 100644
--- a/tools/f2fs_io/f2fs_io.c
+++ b/tools/f2fs_io/f2fs_io.c
@@ -872,8 +872,8 @@
On 11/01, Chao Yu wrote:
> On 2024/11/1 9:22, Jaegeuk Kim wrote:
> > On 10/31, Chao Yu wrote:
> > > f2fs_map_blocks() supports to map continuous holes or preallocated
> > > address, we should avoid setting F2FS_MAP_MAPPED for these cases
> > > only, otherwise, it may fail f2fs_iomap_begin(), and ma
This reverts commit 54f43a10fa257ad4af02a1d157fefef6ebcfa7dc.
The above commit broke the lazytime mount, given
mount("/dev/vdb", "/mnt/test", "f2fs", 0, "lazytime");
CC: sta...@vger.kernel.org # 6.11+
Signed-off-by: Daniel Rosenberg
Signed-off-by: Jaegeuk Kim
---
fs/f2fs/super.c | 10
The immutable bit disallows selinux permission which gives no way to clear it.
Fixes: 8cc4e257ec20 ("mkfs.f2fs: add device aliasing feature")
Signed-off-by: Jaegeuk Kim
---
mkfs/f2fs_format.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/mkfs/f2fs_format.c b/mkfs/f2fs_for
Hi Eric,
Could you please check this revert as it breaks the mount()?
It seems F2FS needs to implement new mount support.
Thanks,
On 11/12, Jaegeuk Kim wrote:
> This reverts commit 54f43a10fa257ad4af02a1d157fefef6ebcfa7dc.
>
> The above commit broke the lazytime mount, given
>
> mount("/dev/vd
On 10/31, Chao Yu wrote:
> f2fs_map_blocks() supports to map continuous holes or preallocated
> address, we should avoid setting F2FS_MAP_MAPPED for these cases
> only, otherwise, it may fail f2fs_iomap_begin(), and make direct
> write fallbacking to use buffered IO and flush, result in performance
In file included from f2fs_format.c:14:
f2fs_format.c: In function ‘allocate_blocks_for_aliased_device’:
f2fs_format.c:1705:24: error: too few arguments to function ‘dev_write_block’
1705 | ASSERT(dev_write_block(sit_blk, sit_blk_addr) >= 0);
|^~~~
On 09/23, Chao Yu wrote:
> On 2024/9/20 23:38, Daeho Jeong wrote:
> > On Thu, Sep 19, 2024 at 6:14 AM Chao Yu wrote:
> > >
> > > On 2024/9/14 5:28, Daeho Jeong wrote:
> > > > From: Daeho Jeong
> > > >
> > > > F2FS should understand how the device aliasing file works and support
> > > > deleting
On 09/24, Linus Torvalds wrote:
> On Mon, 23 Sept 2024 at 19:42, Jaegeuk Kim wrote:
> >
> > In this series, the main changes include 1) converting major IO paths to use
> > folio, and 2) adding various knobs to control GC more flexibly for Zoned
> > devices.
>
> Hmm. I get mostly the same merge r
On 09/24, Chao Yu wrote:
> On 2024/9/23 23:53, Daeho Jeong wrote:
> > From: Daeho Jeong
> >
> > F2FS should understand how the device aliasing file works and support
> > deleting the file after use. A device aliasing file can be created by
> > mkfs.f2fs tool and it can map the whole device with a
Hi Linus,
Could you please consider this pull reuqest?
Thanks,
The following changes since commit c813111d19e65b6336a6352eae9c1ff5c40f722f:
Merge tag 'slab-fixes-for-6.11-rc2' of
git://git.kernel.org/pub/scm/linux/kernel/git/vbabka/slab (2024-08-05 09:23:00
-0700)
are available in the Git
On 09/26, Matthew Wilcox wrote:
> On Thu, Sep 26, 2024 at 04:01:21PM +0200, Pankaj Raghav (Samsung) wrote:
> > Convert wbc_account_cgroup_owner() to take a folio instead of a page,
> > and convert all callers to pass a folio directly except f2fs.
> >
> > Convert the page to folio for all the calle
I applied this with the below change to avoid build failure.
--- a/fs/f2fs/super.c
+++ b/fs/f2fs/super.c
@@ -3336,7 +3336,7 @@ loff_t max_file_blocks(struct inode *inode)
* fit within U32_MAX + 1 data units.
*/
- result = min(result, F2FS_BYTES_TO_BLK(((loff_t)U32_MAX + 1)
On 11/19, Chao Yu wrote:
> On 2024/11/13 5:39, Jaegeuk Kim via Linux-f2fs-devel wrote:
> > Hi Eric,
> >
> > Could you please check this revert as it breaks the mount()?
> > It seems F2FS needs to implement new mount support.
>
> Hi all,
>
> Actually, if we
On 11/20, Eric Sandeen wrote:
> On 11/20/24 8:27 AM, Eric Sandeen wrote:
> > On 11/12/24 3:39 PM, Jaegeuk Kim wrote:
> >> Hi Eric,
> >>
> >> Could you please check this revert as it breaks the mount()?
> >> It seems F2FS needs to implement new mount support.
> >>
> >> Thanks,
> >
> > I'm sorry, I
On 11/20, Chao Yu wrote:
> On 2024/11/20 4:48, Jaegeuk Kim wrote:
> > On 11/19, Chao Yu wrote:
> > > On 2024/11/13 5:39, Jaegeuk Kim via Linux-f2fs-devel wrote:
> > > > Hi Eric,
> > > >
> > > > Could you please check this revert as it breaks
Hi Linus,
Could you please consideri this pull request?
Thanks,
The following changes since commit eca631b8fe808748d7585059c4307005ca5c5820:
Merge tag 'f2fs-6.12-rc4' of
git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs (2024-10-14 11:19:19
-0700)
are available in the Git reposito
This patch should avoid the below warning which does not corrupt the metadata
tho.
[ 51.508120][ T253] F2FS-fs (dm-59): access invalid blkaddr:36
[ 51.508156][ T253] __f2fs_is_valid_blkaddr+0x330/0x384
[ 51.508162][ T253] f2fs_is_valid_blkaddr_raw+0x10/0x24
[ 51.508163][ T253] f2fs_
On 01/03, Christoph Hellwig wrote:
> On Mon, Dec 23, 2024 at 04:57:35PM +, Jaegeuk Kim wrote:
> > > That means you have really bad worst case behavior for negative lookups.
> > > I don' think this is in any way a good idea.
> >
> > No surprise. Please check:
> > https://lore.kernel.org/lkml/z1
On 12/16, Chao Yu wrote:
> syzbot reported an out-of-range access issue as below:
>
> UBSAN: array-index-out-of-bounds in fs/f2fs/f2fs.h:3292:19
> index 18446744073709550491 is out of range for type '__le32[923]' (aka
> 'unsigned int[923]')
> CPU: 0 UID: 0 PID: 5338 Comm: syz.0.0 Not tainted
> 6
This patch should avoid the below warning which does not corrupt the metadata
tho.
[ 51.508120][ T253] F2FS-fs (dm-59): access invalid blkaddr:36
[ 51.508156][ T253] __f2fs_is_valid_blkaddr+0x330/0x384
[ 51.508162][ T253] f2fs_is_valid_blkaddr_raw+0x10/0x24
[ 51.508163][ T253] f2fs_
I checked this patch is wrong. Sorry for the noise.
On 01/31, Jaegeuk Kim wrote:
> Fix a wrong kobject_put in the error path.
>
> Signed-off-by: Jaegeuk Kim
> ---
> fs/f2fs/sysfs.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/fs/f2fs/sysfs.c b/fs/f2fs/sysfs.c
> in
On 02/03, Christoph Hellwig wrote:
> On Fri, Jan 31, 2025 at 10:27:55PM +, Jaegeuk Kim wrote:
> > Note, let me keep improving this patch set, while trying to get some
> > feedbacks
> > from MM and API folks from [1].
>
> Please actually drive it instead of only interacting once after
> I told
On 01/17, Jaegeuk Kim wrote:
> On 01/17, Matthew Wilcox wrote:
> > On Fri, Jan 17, 2025 at 06:48:55PM +, Jaegeuk Kim wrote:
> > > > I don't understand how this is different from MADV_COLD. Please
> > > > explain.
> > >
> > > MADV_COLD is a vma range, while this is a file range. So, it's more
On 02/04, Jaegeuk Kim wrote:
> On 01/17, Jaegeuk Kim wrote:
> > On 01/17, Matthew Wilcox wrote:
> > > On Fri, Jan 17, 2025 at 06:48:55PM +, Jaegeuk Kim wrote:
> > > > > I don't understand how this is different from MADV_COLD. Please
> > > > > explain.
> > > >
> > > > MADV_COLD is a vma range,
On 02/06, Chao Yu wrote:
> F2FS-fs (dm-59): checkpoint=enable has some unwritten data.
>
> [ cut here ]
> WARNING: CPU: 6 PID: 8013 at fs/quota/dquot.c:691
> dquot_writeback_dquots+0x2fc/0x308
> pc : dquot_writeback_dquots+0x2fc/0x308
> lr : f2fs_quota_sync+0xcc/0x1c4
> Ca
This patch adds an ioctl to give a per-file priority hint to attach
REQ_PRIO.
Signed-off-by: Jaegeuk Kim
---
fs/f2fs/data.c| 6 ++
fs/f2fs/f2fs.h| 7 +++
fs/f2fs/file.c| 20
include/uapi/linux/f2fs.h | 1 +
4 files changed, 34 i
On 02/06, Chao Yu wrote:
> On 2/6/25 05:40, Jaegeuk Kim via Linux-f2fs-devel wrote:
> > This patch adds an ioctl to give a per-file priority hint to attach
> > REQ_PRIO.
> >
> > Signed-off-by: Jaegeuk Kim
> > ---
> > fs/f2fs/data.c| 6 +++
On 02/06, Chao Yu wrote:
> On 2/1/25 06:27, Jaegeuk Kim via Linux-f2fs-devel wrote:
> > 1. ioctl(fd1, F2FS_IOC_DONATE_RANGE, {0,3});
> > 2. ioctl(fd2, F2FS_IOC_DONATE_RANGE, {1,2});
> > 3. ioctl(fd3, F2FS_IOC_DONATE_RANGE, {3,1});
> > 4. echo 1024 > /sys/fs
It seems you need to remove dummy f2fs_quota_sync() in fs/f2fs/super.c to
fix the build error.
3204 int f2fs_quota_sync(struct super_block *sb, int type)
3205 {
3206 return 0;
3207 }
On 02/07, Chao Yu wrote:
> F2FS-fs (dm-59): checkpoint=enable has some unwritten data.
>
> -
1. ioctl(fd1, F2FS_IOC_DONATE_RANGE, {0,3});
2. ioctl(fd2, F2FS_IOC_DONATE_RANGE, {1,2});
3. ioctl(fd3, F2FS_IOC_DONATE_RANGE, {3,1});
4. echo 1024 > /sys/fs/f2fs/tuning/reclaim_caches_kb
This gives a way to reclaim file-backed pages by iterating all f2fs mounts until
reclaiming 1MB page cache ran
On 02/10, Matthew Wilcox wrote:
> On Mon, Feb 10, 2025 at 05:00:47PM +, Jaegeuk Kim wrote:
> > On 02/04, Jaegeuk Kim wrote:
> > > On 01/17, Jaegeuk Kim wrote:
> > > > On 01/17, Matthew Wilcox wrote:
> > > > > On Fri, Jan 17, 2025 at 06:48:55PM +, Jaegeuk Kim wrote:
> > > > > > > I don't und
This patch adds an ioctl to give a per-file priority hint to attach
REQ_PRIO.
Signed-off-by: Jaegeuk Kim
---
fs/f2fs/data.c| 6 ++
fs/f2fs/f2fs.h| 1 +
fs/f2fs/file.c| 20
include/uapi/linux/f2fs.h | 7 +++
4 files changed, 34 i
In /sys/fs/f2fs/features, there's no f2fs_sb_info, so let's avoid to get
the pointer.
Signed-off-by: Jaegeuk Kim
---
fs/f2fs/sysfs.c | 74 ++---
1 file changed, 52 insertions(+), 22 deletions(-)
diff --git a/fs/f2fs/sysfs.c b/fs/f2fs/sysfs.c
index 001
Fix a wrong kobject_put in the error path.
Signed-off-by: Jaegeuk Kim
---
fs/f2fs/sysfs.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/fs/f2fs/sysfs.c b/fs/f2fs/sysfs.c
index d15c68b28952..001e97cd0a96 100644
--- a/fs/f2fs/sysfs.c
+++ b/fs/f2fs/sysfs.c
@@ -1605,7 +1605,7
This patch introduces an inode list to keep the page cache ranges that users
can donate pages together.
#define F2FS_IOC_DONATE_RANGE _IOW(F2FS_IOCTL_MAGIC, 27, \
struct f2fs_donate_range)
struct f2fs_donate_range {
__u64 star
1. ioctl(fd1, F2FS_IOC_DONATE_RANGE, {0,3});
2. ioctl(fd2, F2FS_IOC_DONATE_RANGE, {1,2});
3. ioctl(fd3, F2FS_IOC_DONATE_RANGE, {3,1});
4. echo 1024 > /sys/fs/f2fs/tuning/reclaim_caches_kb
This gives a way to reclaim file-backed pages by iterating all f2fs mounts until
reclaiming 1MB page cache ran
Note, let me keep improving this patch set, while trying to get some feedbacks
from MM and API folks from [1].
If users clearly know which file-backed pages to reclaim in system view, they
can use this ioctl() to register in advance and reclaim all at once later.
I'd like to propose this API in F
On 12/12, Dan Carpenter wrote:
> On Mon, Aug 19, 2024 at 05:34:30PM +0900, Yeongjin Gil wrote:
> > In f2fs_do_write_data_page, when the data block is NULL_ADDR, it skips
> > writepage considering that it has been already truncated.
> > This results in an infinite loop as the PAGECACHE_TAG_TOWRITE t
On 12/11, yi sun wrote:
> Kindly ping.
> I think there are no problems with the first few patches, but the
> current patch may still have room for improvement. Do you have any
> good suggestions?
Hi, may I ask for some basic tests? Have you run xfstests?
>
> On Mon, Nov 4, 2024 at 11:46 AM Yi Su
On 12/16, Matthew Wilcox wrote:
> On Thu, Nov 28, 2024 at 04:58:15AM +, Matthew Wilcox (Oracle) wrote:
> > This round of f2fs patches accomplishes two things:
>
> Ping. It's been two weeks and these patches aren't in linux-next yet.
I was testing the series in dev-test.
https://git.kernel.o
On 12/20, Daniel Lee wrote:
> This patch addresses an issue where some files in case-insensitive
> directories become inaccessible due to changes in how the kernel function,
> utf8_casefold(), generates case-folded strings from the commit 5c26d2f1d3f5
> ("unicode: Don't special case ignorable code
This makes the code being inconsistent. Can you refactor first and add the loop
later separately?
For example,
1) add two functions, update_sit_entry_for_alloc() and
update_sit_entry_for_release()
2) add a loop in update_sit_entry_for_release()
Thanks,
On 11/04, Yi Sun wrote:
> This function ca
On 11/21, Eric Sandeen wrote:
> On 11/20/24 2:38 PM, Jaegeuk Kim wrote:
> > On 11/20, Eric Sandeen wrote:
>
> ...
>
> >> (Note that f2fs is the only filesystem that attempts to handle lazytime
> >> within
> >> the filesystem itself):
> >>
> >> [linux]# grep -r \"lazytime\" fs/*/
> >> fs/f2fs/sup
Let's remove unclear blk_finish_plug.
Signed-off-by: Jaegeuk Kim
---
fs/f2fs/data.c | 4
1 file changed, 4 deletions(-)
diff --git a/fs/f2fs/data.c b/fs/f2fs/data.c
index 35b9455fb899..f681742ebecb 100644
--- a/fs/f2fs/data.c
+++ b/fs/f2fs/data.c
@@ -511,10 +511,6 @@ static void f2fs_submi
On 01/06, zangyangyang wrote:
> From: zangyangyang1
>
> When f2fs_write_single_data_page fails, f2fs_write_cache_pages
> will use the last 'submitted' value incorrectly, which will cause
> 'nwritten' and 'wbc->nr_to_write' calculation errors
>
> Signed-off-by: zangyangyang1
> ---
> v3: No logic
On 01/21, Chao Yu wrote:
> On 1/18/25 00:41, Jaegeuk Kim via Linux-f2fs-devel wrote:
> > This patch introduces an inode list to keep the page cache ranges that users
> > can donate pages together.
> >
> > #define F2FS_IOC_DONATE_RANGE
1. ioctl(fd1, F2FS_IOC_DONATE_RANGE, {0,3});
2. ioctl(fd2, F2FS_IOC_DONATE_RANGE, {1,2});
3. ioctl(fd3, F2FS_IOC_DONATE_RANGE, {3,1});
4. echo 1024 > /sys/fs/f2fs/blk/reclaim_caches_kb
will reclaim 4MB page cache ranges, registered by #1, #2, and #3.
Signed-off-by: Jaegeuk Kim
---
Documentation
This patch introduces an inode list to keep the page cache ranges that users
can donate pages together.
#define F2FS_IOC_DONATE_RANGE _IOW(F2FS_IOCTL_MAGIC, 27, \
struct f2fs_donate_range)
struct f2fs_donate_range {
__u64 star
Note, let me keep improving this patch set, while trying to get some feedbacks
from MM and API folks from [1].
If users clearly know which file-backed pages to reclaim in system view, they
can use this ioctl() to register in advance and reclaim all at once later.
I'd like to propose this API in F
On 01/17, Matthew Wilcox wrote:
> On Fri, Jan 17, 2025 at 06:48:55PM +, Jaegeuk Kim wrote:
> > > I don't understand how this is different from MADV_COLD. Please
> > > explain.
> >
> > MADV_COLD is a vma range, while this is a file range. So, it's more close to
> > fadvise(POSIX_FADV_DONTNEED)
In f2fs_new_inode(), if we fail to get a new inode, we go iput(), followed by
f2fs_evict_inode(). If the inode is not marked as bad, it'll try to call
f2fs_remove_inode_page() which tries to read the inode block given node id.
But, there's no block address allocated yet, which gives a chance to acc
Hi Linus,
Could you please consider this pull request?
Thanks,
The following changes since commit 40384c840ea1944d7c5a392e8975ed088ecf0b37:
Linux 6.13-rc1 (2024-12-01 14:28:56 -0800)
are available in the Git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs.git
ta
1. ioctl(fd1, F2FS_IOC_DONATE_RANGE, {0,3});
2. ioctl(fd2, F2FS_IOC_DONATE_RANGE, {1,2});
3. ioctl(fd3, F2FS_IOC_DONATE_RANGE, {3,1});
4. echo 3 > /sys/fs/f2fs/blk/donate_caches
will reclaim 3 page cache ranges, registered by #1, #2, and #3.
Signed-off-by: Jaegeuk Kim
---
Documentation/ABI/test
This patch introduces an inode list to keep the page cache ranges that users
can donate pages together.
#define F2FS_IOC_DONATE_RANGE _IOW(F2FS_IOCTL_MAGIC, 27, \
struct f2fs_donate_range)
struct f2fs_donate_range {
__u64 star
On 01/10, Chao Yu wrote:
> On 1/8/25 03:28, Jaegeuk Kim wrote:
> > On 12/16, Chao Yu wrote:
> > > syzbot reported an out-of-range access issue as below:
> > >
> > > UBSAN: array-index-out-of-bounds in fs/f2fs/f2fs.h:3292:19
> > > index 18446744073709550491 is out of range for type '__le32[923]' (a
On 01/14, Chao Yu wrote:
> On 1/14/25 02:39, Jaegeuk Kim via Linux-f2fs-devel wrote:
> > This patch introduces an inode list to keep the page cache ranges that users
> > can donate pages together.
> >
> > #define F2FS_IOC_DONATE_RANGE
On 01/14, Chao Yu wrote:
> On 1/14/25 02:39, Jaegeuk Kim via Linux-f2fs-devel wrote:
> > 1. ioctl(fd1, F2FS_IOC_DONATE_RANGE, {0,3});
> > 2. ioctl(fd2, F2FS_IOC_DONATE_RANGE, {1,2});
> > 3. ioctl(fd3, F2FS_IOC_DONATE_RANGE, {3,1});
> > 4. echo 3 > /sys/fs/f2fs/b
This patch introduces an inode list to keep the page cache ranges that users
can donate pages together.
#define F2FS_IOC_DONATE_RANGE _IOW(F2FS_IOCTL_MAGIC, 27, \
struct f2fs_donate_range)
struct f2fs_donate_range {
__u64 star
On 12/23, Christoph Hellwig wrote:
> On Fri, Dec 20, 2024 at 09:21:36AM -0800, Daniel Lee wrote:
> > This patch addresses an issue where some files in case-insensitive
> > directories become inaccessible due to changes in how the kernel function,
> > utf8_casefold(), generates case-folded strings f
On 12/22, Chao Yu wrote:
> On 2024/12/21 7:41, Daniel Lee wrote:
> > This patch addresses an issue where some files in case-insensitive
> > directories become inaccessible due to changes in how the kernel function,
> > utf8_casefold(), generates case-folded strings from the commit 5c26d2f1d3f5
> >
This patch introduces an inode list to keep the page cache ranges that users
can donate pages together.
#define F2FS_IOC_DONATE_RANGE _IOW(F2FS_IOCTL_MAGIC, 27, \
struct f2fs_donate_range)
struct f2fs_donate_range {
__u64 star
If users clearly know which file-backed pages to reclaim in system view, they
can use this ioctl() to register in advance and reclaim all at once later.
Jaegeuk Kim (2):
f2fs: register inodes which is able to donate pages
f2fs: add a sysfs entry to request donate file-backed pages
Documentat
1. ioctl(fd1, F2FS_IOC_DONATE_RANGE, {0,3});
2. ioctl(fd2, F2FS_IOC_DONATE_RANGE, {1,2});
3. ioctl(fd3, F2FS_IOC_DONATE_RANGE, {3,1});
4. echo 3 > /sys/fs/f2fs/blk/donate_caches
will reclaim 3 page cache ranges, registered by #1, #2, and #3.
Signed-off-by: Jaegeuk Kim
---
Documentation/ABI/test
1. ioctl(fd1, F2FS_IOC_DONATE_RANGE, {0,3});
2. ioctl(fd2, F2FS_IOC_DONATE_RANGE, {1,2});
3. ioctl(fd3, F2FS_IOC_DONATE_RANGE, {3,1});
4. echo 3 > /sys/fs/f2fs/blk/donate_caches
will reclaim 3 page cache ranges, registered by #1, #2, and #3.
Signed-off-by: Jaegeuk Kim
---
Documentation/ABI/test
If users clearly know which file-backed pages to reclaim in system view, they
can use this ioctl() to register in advance and reclaim all at once later.
Change log from v3:
- cover partial range
Change log from v2:
- add more boundary checks
- de-register the range, if len is zero
Jaegeuk Kim
1. ioctl(fd1, F2FS_IOC_DONATE_RANGE, {0,3});
2. ioctl(fd2, F2FS_IOC_DONATE_RANGE, {1,2});
3. ioctl(fd3, F2FS_IOC_DONATE_RANGE, {3,1});
4. echo 3 > /sys/fs/f2fs/blk/donate_caches
will reclaim 3 page cache ranges, registered by #1, #2, and #3.
Signed-off-by: Jaegeuk Kim
---
Documentation/ABI/test
This patch introduces an inode list to keep the page cache ranges that users
can donate pages together.
#define F2FS_IOC_DONATE_RANGE _IOW(F2FS_IOCTL_MAGIC, 27, \
struct f2fs_donate_range)
struct f2fs_donate_range {
__u64 star
On 01/16, Chao Yu wrote:
> On 1/16/25 06:16, Jaegeuk Kim via Linux-f2fs-devel wrote:
> > 1. ioctl(fd1, F2FS_IOC_DONATE_RANGE, {0,3});
> > 2. ioctl(fd2, F2FS_IOC_DONATE_RANGE, {1,2});
> > 3. ioctl(fd3, F2FS_IOC_DONATE_RANGE, {3,1});
> > 4. echo 3 > /sys/fs/f2fs/b
If users clearly know which file-backed pages to reclaim in system view, they
can use this ioctl() to register in advance and reclaim all at once later.
Change log from v2:
- add more boundary checks
- de-register the range, if len is zero
Jaegeuk Kim (2):
f2fs: register inodes which is able
1 - 100 of 212 matches
Mail list logo