[PATCH 0/8] netfs/cachefiles: Some bugfixes
Zizhi Wo
wozizhi at huawei.com
Thu Oct 10 14:08:30 AEDT 2024
Hi!
This patchset involves some general cachefiles workflows and the on-
demand loading process. For example, the eighth patch fixes a memory
ordering issue in cachefiles, and the fifth patch includes some cleanup.
These all related to changes in the general cachefiles workflow, and I
think these deserve some attention.
Additionally, although the current EROFS on-demand loading mode based on
cachefiles interaction might be considered for switching to the fanotify
mode in the future, I believe the code based on the current cachefiles
on-demand loading mode still requires maintenance. The first few patches
here are bugfixes specifically for that.
Therefore, I would greatly appreciate it if anyone could take some time
to review these patches. So friendly ping.
Thanks,
Zizhi Wo
在 2024/8/21 10:42, Zizhi Wo 写道:
> Hi!
>
> We recently discovered some bugs through self-discovery and testing in
> erofs ondemand loading mode, and this patchset is mainly used to fix
> them. These patches are relatively simple changes, and I would be excited
> to discuss them together with everyone. Below is a brief introduction to
> each patch:
>
> Patch 1: Fix for wrong block_number calculated in ondemand write.
>
> Patch 2: Fix for wrong length return value in ondemand write.
>
> Patch 3: Fix missing position update in ondemand write, for scenarios
> involving read-ahead, invoking the write syscall.
>
> Patch 4: Previously, the last redundant data was cleared during the umount
> phase. This patch remove unnecessary data in advance.
>
> Patch 5: Code clean up for cachefiles_commit_tmpfile().
>
> Patch 6: Modify error return value in cachefiles_daemon_secctx().
>
> Patch 7: Fix object->file Null-pointer-dereference problem.
>
> Patch 8: Fix for memory out of order in fscache_create_volume().
>
>
> Zizhi Wo (8):
> cachefiles: Fix incorrect block calculations in
> __cachefiles_prepare_write()
> cachefiles: Fix incorrect length return value in
> cachefiles_ondemand_fd_write_iter()
> cachefiles: Fix missing pos updates in
> cachefiles_ondemand_fd_write_iter()
> cachefiles: Clear invalid cache data in advance
> cachefiles: Clean up in cachefiles_commit_tmpfile()
> cachefiles: Modify inappropriate error return value in
> cachefiles_daemon_secctx()
> cachefiles: Fix NULL pointer dereference in object->file
> netfs/fscache: Add a memory barrier for FSCACHE_VOLUME_CREATING
>
> fs/cachefiles/daemon.c | 2 +-
> fs/cachefiles/interface.c | 3 +++
> fs/cachefiles/io.c | 10 +++++-----
> fs/cachefiles/namei.c | 23 +++++++++++++----------
> fs/cachefiles/ondemand.c | 38 +++++++++++++++++++++++++++++---------
> fs/netfs/fscache_volume.c | 3 +--
> 6 files changed, 52 insertions(+), 27 deletions(-)
>
More information about the Linux-erofs
mailing list