summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGao Xiang <hsiangkao@linux.alibaba.com>2026-06-17 11:14:59 +0800
committerGao Xiang <hsiangkao@linux.alibaba.com>2026-06-17 12:01:34 +0800
commit289cf458a69ccda4a4aee2b0274d233d415814ca (patch)
treee00b75fec89db5c3a6ccc28c8b1c25b377b9396f
parentb05fb89900e6386b4e56bfe7dddede7becf0db75 (diff)
downloadlwn-289cf458a69ccda4a4aee2b0274d233d415814ca.tar.gz
lwn-289cf458a69ccda4a4aee2b0274d233d415814ca.zip
erofs: call erofs_exit_ishare() before rcu_barrier()
Ensure all inode free callbacks have completed before destroying the inode slab cache. Fixes: 5ef3208e3be5 ("erofs: introduce the page cache share feature") Reviewed-by: Hongbo Li <lihongbo22@huawei.com> Signed-off-by: Gao Xiang <hsiangkao@linux.alibaba.com>
-rw-r--r--fs/erofs/super.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/fs/erofs/super.c b/fs/erofs/super.c
index 802add6652fd..579443e6acfe 100644
--- a/fs/erofs/super.c
+++ b/fs/erofs/super.c
@@ -1048,11 +1048,11 @@ shrinker_err:
static void __exit erofs_module_exit(void)
{
unregister_filesystem(&erofs_fs_type);
+ erofs_exit_ishare();
- /* Ensure all RCU free inodes / pclusters are safe to be destroyed. */
+ /* ensure all delayed rcu free inodes & pclusters are flushed */
rcu_barrier();
- erofs_exit_ishare();
erofs_exit_sysfs();
z_erofs_exit_subsystem();
erofs_exit_shrinker();