For casefolded directories, f2fs may fall back to a linear search if
a hash-based lookup fails. This can cause severe performance
regressions.
While this behavior can be controlled by userspace tools (e.g. mkfs,
fsck) by setting an on-disk flag, a kernel-level solution is needed
to guarantee the l
This commit introduces a new read-only sysfs entry at
/sys/fs/f2fs//effective_lookup_mode.
This entry displays the actual directory lookup mode F2FS is
currently using. This is needed for debugging and verification,
as the behavior is determined by both on-disk flags and mount
options.
Signed-off
This commit introduces a new read-only sysfs entry at
/sys/fs/f2fs//effective_lookup_mode.
This entry displays the actual directory lookup mode F2FS is
currently using. This is needed for debugging and verification,
as the behavior is determined by both on-disk flags and mount
options.
Signed-off
For casefolded directories, f2fs may fall back to a linear search if
a hash-based lookup fails. This can cause severe performance
regressions.
While this behavior can be controlled by userspace tools (e.g. mkfs,
fsck) by setting an on-disk flag, a kernel-level solution is needed
to guarantee the l
This commit introduces a new read-only sysfs entry at
/sys/fs/f2fs//effective_lookup_mode.
This entry displays the actual directory lookup mode F2FS is
currently using. This is needed for debugging and verification,
as the behavior is determined by both on-disk flags and mount
options.
Signed-off
For casefolded directories, f2fs may fall back to a linear search if
a hash-based lookup fails. This can cause severe performance
regressions.
While this behavior can be controlled by userspace tools (e.g. mkfs,
fsck) by setting an on-disk flag, a kernel-level solution is needed
to guarantee the l
Commit 84447ee7212e correctly relocated the zone alignment check to its
proper location. However, this revealed that the original check's
condition was incorrect for multi-device setups.
This patch corrects the logic to check the alignment relative to the start
of the segment0 and improves the err
The ino_t type can be defined as either 'unsigned long' or
'unsigned long long'.
Signed-off-by: Daniel Lee
---
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 8e81ba9..595d1e6 100644
--- a/too
Signed-off-by: Daniel Lee
---
man/f2fs_io.8 | 22 ++
1 file changed, 22 insertions(+)
diff --git a/man/f2fs_io.8 b/man/f2fs_io.8
index e0f659e..6f3e11e 100644
--- a/man/f2fs_io.8
+++ b/man/f2fs_io.8
@@ -184,6 +184,28 @@ Get i_advise value and info in file
.TP
\fBioprio\fR \
On Mon, Jun 16, 2025 at 5:41 AM Chao Yu wrote:
>
> On 6/15/25 22:42, Daniel Lee wrote:
> > Bio flags like REQ_PRIO, REQ_META, and REQ_FUA, determined by
> > f2fs_io_flags(), were not being applied to direct I/O (DIO) writes.
> > This meant that DIO writes would not respect filesystem-level hints
>
On Mon, Jun 16, 2025 at 5:50 AM Chao Yu wrote:
>
> On 6/15/25 22:42, Daniel Lee wrote:
> > Apply the `ioprio_hint` to set `F2FS_IOPRIO_WRITE` priority
> > on files identified as "hot" at creation and on files that are
> > pinned via ioctl.
> >
> > Signed-off-by: Daniel Lee
> > ---
> > fs/f2fs/f2
A new command 'test_create_perf', has been introduced to measure
the performance of creating and deleting many files.
Signed-off-by: Daniel Lee
---
v3: make sync optional for deletion phase
v2: Rename command and make fsync optional
---
tools/f2fs_io/f2fs_io.c | 146 +
On Tue, Jun 17, 2025 at 2:33 PM Chao Yu wrote:
>
> On 6/14/25 07:05, Daniel Lee wrote:
> > A new command 'test_create_perf', has been introduced to measure
> > the performance of creating and deleting many files.
> >
> > Signed-off-by: Daniel Lee
> > ---
> > v2: Rename command and make fsync opti
The first patch corrects an issue where Direct I/O (DIO) writes ignore
bio flag hints (e.g., F2FS_IOPRIO_WRITE for REQ_PRIO),
making them inconsistent with buffered I/O.
The second patch is to set an I/O priority hint for hot files on creation
and pinned files by default.
---
Changes in v2:
- f2
Apply the `ioprio_hint` to set `F2FS_IOPRIO_WRITE` priority
on files identified as "hot" at creation and on files that are
pinned via ioctl.
Signed-off-by: Daniel Lee
---
fs/f2fs/f2fs.h | 19 +++
fs/f2fs/file.c | 3 +++
fs/f2fs/namei.c | 11 +++
3 files changed, 29 ins
Bio flags like REQ_PRIO, REQ_META, and REQ_FUA, determined by
f2fs_io_flags(), were not being applied to direct I/O (DIO) writes.
This meant that DIO writes would not respect filesystem-level hints
(for REQ_META/FUA) or inode-level hints (like F2FS_IOPRIO_WRITE).
This patch refactors f2fs_io_flags
A new command 'test_create_perf', has been introduced to measure
the performance of creating and deleting many files.
Signed-off-by: Daniel Lee
---
v2: Rename command and make fsync optional
---
tools/f2fs_io/f2fs_io.c | 139
1 file changed, 139 insertion
A new command 'create_speed', has been introduced to measure
the performance of creating and deleting many files.
Signed-off-by: Daniel Lee
---
tools/f2fs_io/f2fs_io.c | 112
1 file changed, 112 insertions(+)
diff --git a/tools/f2fs_io/f2fs_io.c b/tools/
Apply the `ioprio_hint` to set `F2FS_IOPRIO_WRITE` priority
on files identified as "hot" at creation and on files that are
pinned via ioctl.
Signed-off-by: Daniel Lee
---
fs/f2fs/f2fs.h | 21 +
fs/f2fs/file.c | 3 +++
fs/f2fs/namei.c | 11 +++
3 files changed, 31 i
The first patch corrects an issue where Direct I/O (DIO) writes ignore
bio flag hints (e.g., F2FS_IOPRIO_WRITE for REQ_PRIO),
making them inconsistent with buffered I/O.
The second patch is to set an I/O priority hint for hot files on creation
and pinned files by default.
Daniel Lee (2):
f2fs:
Bio flags like REQ_PRIO, REQ_META, and REQ_FUA, determined by
f2fs_io_flags(), were not being applied to direct I/O (DIO) writes.
This meant that DIO writes would not respect filesystem-level hints
(for REQ_META/FUA) or inode-level hints (like F2FS_IOPRIO_WRITE).
This patch refactors f2fs_io_flags
On Sun, Mar 30, 2025 at 7:54 PM Chao Yu wrote:
>
> After commit 91b587ba79e1 ("f2fs: Introduce linear search for
> dentries"), f2fs forced to use linear lookup whenever a hash-based
> lookup fails on casefolded directory, it may affect performance
> for scenarios: a) create a new file w/ filename
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 points").
F2FS uses these case-fold
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 points").
F2FS uses these case-fold
On Fri, Dec 20, 2024 at 5:25 AM Chao Yu wrote:
>
> On 2024/12/20 12:59, Daniel Lee wrote:
> > On Thu, Dec 19, 2024 at 5:29 AM Chao Yu wrote:
> >>
> >> Hi Daniel,
> >>
> >> On 2024/12/17 15:55, Daniel Lee wrote:
> >>> This patch addresses an issue where some files in case-insensitive
> >>> directo
On Thu, Dec 19, 2024 at 5:29 AM Chao Yu wrote:
>
> Hi Daniel,
>
> On 2024/12/17 15:55, 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
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 points").
F2FS uses these case-fold
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 points").
F2FS uses these case-fold
28 matches
Mail list logo