linux/fs/gfs2
Andreas Gruenbacher 296abc0d91 gfs2: No short reads or writes upon glock contention
Commit 00bfe02f47 ("gfs2: Fix mmap + page fault deadlocks for buffered
I/O") changed gfs2_file_read_iter() and gfs2_file_buffered_write() to
allow dropping the inode glock while faulting in user buffers.  When the
lock was dropped, a short result was returned to indicate that the
operation was interrupted.

As pointed out by Linus (see the link below), this behavior is broken
and the operations should always re-acquire the inode glock and resume
the operation instead.

Link: https://lore.kernel.org/lkml/CAHk-=whaz-g_nOOoo8RRiWNjnv2R+h6_xk2F1J4TuSRxk1MtLw@mail.gmail.com/
Fixes: 00bfe02f47 ("gfs2: Fix mmap + page fault deadlocks for buffered I/O")
Signed-off-by: Andreas Gruenbacher <agruenba@redhat.com>
2022-04-28 15:14:48 +02:00
..
acl.c
acl.h
aops.c fs: Convert __set_page_dirty_buffers to block_dirty_folio 2022-03-16 13:37:04 -04:00
aops.h
bmap.c
bmap.h
dentry.c
dir.c
dir.h
export.c
file.c gfs2: No short reads or writes upon glock contention 2022-04-28 15:14:48 +02:00
gfs2.h
glock.c
glock.h
glops.c
glops.h
incore.h
inode.c
inode.h
Kconfig
lock_dlm.c
log.c
log.h
lops.c
lops.h
main.c
Makefile
meta_io.c Filesystem folio changes for 5.18 2022-03-22 18:26:56 -07:00
meta_io.h
ops_fstype.c
quota.c
quota.h
recovery.c
recovery.h
rgrp.c gfs2: Make sure FITRIM minlen is rounded up to fs block size 2022-03-31 20:35:38 +02:00
rgrp.h
super.c gfs2 fixes 2022-03-31 15:57:50 -07:00
super.h
sys.c
sys.h
trace_gfs2.h
trans.c
trans.h
util.c
util.h
xattr.c
xattr.h