linux/fs/erofs
Gao Xiang 2f0407ed92 erofs: fix .fadvise() for page cache sharing
Currently, .fadvise() doesn't work well if page cache sharing is on
since shared inodes belong to a pseudo fs generated with init_pseudo(),
and sb->s_bdi is the default one &noop_backing_dev_info.

Then, generic_fadvise() will just behave as a no-op if sb->s_bdi is
&noop_backing_dev_info, but as the bdev fs (the bdev fs changes
inode_to_bdi() instead), it's actually NOT a pure memfs.

Let's generate a real bdi for erofs_ishare_mnt instead.

Fixes: d86d7817c0 ("erofs: implement .fadvise for page cache share")
Reviewed-by: Hongbo Li <lihongbo22@huawei.com>
Signed-off-by: Gao Xiang <hsiangkao@linux.alibaba.com>
2026-03-25 10:40:02 +08:00
..
Kconfig erofs: update the Kconfig description 2026-03-25 00:04:41 +08:00
Makefile erofs: introduce the page cache share feature 2026-01-23 20:02:09 +08:00
compress.h erofs: enable error reporting for z_erofs_fixup_insize() 2025-11-30 23:49:32 +08:00
data.c mm.git review status for linus..mm-stable 2026-02-18 20:50:32 -08:00
decompressor.c erofs: separate plain and compressed filesystems formally 2026-02-03 11:05:57 +08:00
decompressor_crypto.c erofs: make z_erofs_crypto[] static 2026-01-23 00:00:18 +08:00
decompressor_deflate.c Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
decompressor_lzma.c Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
decompressor_zstd.c Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
dir.c erofs: add setlease file operation 2026-01-12 10:55:45 +01:00
erofs_fs.h erofs: separate plain and compressed filesystems formally 2026-02-03 11:05:57 +08:00
fileio.c erofs: set fileio bio failed in short read case 2026-03-17 10:27:31 +08:00
fscache.c Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
inode.c erofs: allow sharing page cache with the same aops only 2026-02-23 18:04:18 +08:00
internal.h erofs: allow sharing page cache with the same aops only 2026-02-23 18:04:18 +08:00
ishare.c erofs: fix .fadvise() for page cache sharing 2026-03-25 10:40:02 +08:00
namei.c erofs: get rid of erofs_kmap_type 2025-03-17 01:21:24 +08:00
super.c erofs: remove more unnecessary #ifdefs 2026-02-24 18:36:52 +08:00
sysfs.c erofs: avoid some unnecessary #ifdefs 2026-02-03 11:25:55 +08:00
xattr.c Convert more 'alloc_obj' cases to default GFP_KERNEL arguments 2026-02-21 20:03:00 -08:00
xattr.h erofs: mark inodes without acls in erofs_read_inode() 2026-01-28 15:38:37 +08:00
zdata.c erofs: add GFP_NOIO in the bio completion if needed 2026-03-19 00:24:21 +08:00
zmap.c erofs: fix interlaced plain identification for encoded extents 2026-02-25 17:40:58 +08:00
zutil.c Convert remaining multi-line kmalloc_obj/flex GFP_KERNEL uses 2026-02-22 08:26:33 -08:00