tmp_suning_uos_patched/fs/gfs2
Andreas Gruenbacher bab037ebbe gfs2: Disable page faults during lockless buffered reads
[ Upstream commit 52f3f033a5dbd023307520af1ff551cadfd7f037 ]

During lockless buffered reads, filemap_read() holds page cache page
references while trying to copy data to the user-space buffer.  The
calling process isn't holding the inode glock, but the page references
it holds prevent those pages from being removed from the page cache, and
that prevents the underlying inode glock from being moved to another
node.  Thus, we can end up in the same kinds of distributed deadlock
situations as with normal (non-lockless) buffered reads.

Fix that by disabling page faults during lockless reads as well.

Signed-off-by: Andreas Gruenbacher <agruenba@redhat.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2022-05-25 09:17:53 +02:00
..
acl.c
acl.h
aops.c
aops.h
bmap.c gfs2: Fix filesystem block deallocation for short writes 2022-05-18 10:23:45 +02:00
bmap.h
dentry.c
dir.c
dir.h
export.c
file.c gfs2: Disable page faults during lockless buffered reads 2022-05-25 09:17:53 +02:00
gfs2.h
glock.c gfs2: Fix glock_hash_walk bugs 2021-11-18 14:04:00 +01:00
glock.h
glops.c gfs2: Fix glock recursion in freeze_go_xmote_bh 2021-09-18 13:40:25 +02:00
glops.h
incore.h
inode.c gfs2: gfs2_setattr_size error path fix 2022-04-13 21:00:54 +02:00
inode.h
Kconfig
lock_dlm.c gfs2: Don't call dlm after protocol is unmounted 2021-09-18 13:40:30 +02:00
log.c treewide: Change list_sort to use const pointers 2021-09-30 10:11:04 +02:00
log.h
lops.c treewide: Change list_sort to use const pointers 2021-09-30 10:11:04 +02:00
lops.h
main.c
Makefile
meta_io.c
meta_io.h
ops_fstype.c gfs2: init system threads before freeze lock 2021-09-15 09:50:42 +02:00
quota.c
quota.h
recovery.c gfs2: Add common helper for holding and releasing the freeze glock 2021-03-25 09:04:14 +01:00
recovery.h
rgrp.c gfs2: assign rgrp glock before compute_bitstructs 2022-04-27 13:53:46 +02:00
rgrp.h gfs2: gfs2_setattr_size error path fix 2022-04-13 21:00:54 +02:00
super.c gfs2: gfs2_setattr_size error path fix 2022-04-13 21:00:54 +02:00
super.h
sys.c
sys.h
trace_gfs2.h
trans.c gfs2: fix use-after-free in trans_drain 2021-03-30 14:31:49 +02:00
trans.h
util.c gfs2: bypass signal_our_withdraw if no journal 2021-03-25 09:04:14 +01:00
util.h gfs2: Add common helper for holding and releasing the freeze glock 2021-03-25 09:04:14 +01:00
xattr.c
xattr.h