OpenCloudOS-Kernel/fs/erofs
Gao Xiang 7b5843b702 erofs: fix erofs_insert_workgroup() lockref usage
[ Upstream commit 1a0ac8bd7a4fa5b2f4ef14c3b1e9d6e5a5faae06 ]

As Linus pointed out [1], lockref_put_return() is fundamentally
designed to be something that can fail.  It behaves as a fastpath-only
thing, and the failure case needs to be handled anyway.

Actually, since the new pcluster was just allocated without being
populated, it won't be accessed by others until it is inserted into
XArray, so lockref helpers are actually unneeded here.

Let's just set the proper reference count on initializing.

[1] https://lore.kernel.org/r/CAHk-=whCga8BeQnJ3ZBh_Hfm9ctba_wpF444LpwRybVNMzO6Dw@mail.gmail.com

Fixes: 7674a42f35 ("erofs: use struct lockref to replace handcrafted approach")
Reviewed-by: Chao Yu <chao@kernel.org>
Link: https://lore.kernel.org/r/20231031060524.1103921-1-hsiangkao@linux.alibaba.com
Signed-off-by: Gao Xiang <hsiangkao@linux.alibaba.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2023-11-20 11:59:23 +01:00
..
Kconfig erofs: boost negative xattr lookup with bloom filter 2023-08-11 12:11:44 +08:00
Makefile erofs: DEFLATE compression support 2023-08-11 12:11:17 +08:00
compress.h erofs: DEFLATE compression support 2023-08-11 12:11:17 +08:00
data.c mm: remove enum page_entry_size 2023-08-24 16:20:30 -07:00
decompressor.c erofs: DEFLATE compression support 2023-08-11 12:11:17 +08:00
decompressor_deflate.c erofs: DEFLATE compression support 2023-08-11 12:11:17 +08:00
decompressor_lzma.c erofs: fix memory leak of LZMA global compressed deduplication 2023-09-11 08:03:32 +08:00
dir.c erofs: keep meta inode into erofs_buf 2023-04-17 01:15:50 +08:00
erofs_fs.h erofs: update on-disk format for xattr name filter 2023-08-11 12:11:44 +08:00
fscache.c erofs: avoid hardcoded blocksize for subpage block support 2023-04-17 01:15:44 +08:00
inode.c v6.6-vfs.ctime 2023-08-28 09:31:32 -07:00
internal.h erofs: boost negative xattr lookup with bloom filter 2023-08-11 12:11:44 +08:00
namei.c erofs: sunset erofs_dbg() 2023-04-17 01:15:54 +08:00
pcpubuf.c erofs: mark z_erofs_lzma_init/erofs_pcpubuf_init w/ __init 2023-03-09 22:49:30 +08:00
super.c erofs: allow empty device tags in flatdev mode 2023-09-19 08:39:02 +08:00
sysfs.c erofs: make kobj_type structures constant 2023-02-15 08:11:26 +08:00
utils.c erofs: fix erofs_insert_workgroup() lockref usage 2023-11-20 11:59:23 +01:00
xattr.c erofs: boost negative xattr lookup with bloom filter 2023-08-11 12:11:44 +08:00
xattr.h Changes since last update: 2023-04-24 14:25:39 -07:00
zdata.c erofs: fix erofs_insert_workgroup() lockref usage 2023-11-20 11:59:23 +01:00
zmap.c erofs: DEFLATE compression support 2023-08-11 12:11:17 +08:00