linux-stable/fs/gfs2
Andreas Gruenbacher 53d6913295 gfs2: Instantiate glocks ouside of glock state engine
Instantiate glocks outside of the glock state engine: there is no real
reason for instantiating them inside the glock state engine; it only
complicates the code.

Instead, instantiate them in gfs2_glock_wait() and gfs2_glock_async_wait()
using the new gfs2_glock_holder_ready() helper.  On top of that, the only
other place that acquires a glock without using gfs2_glock_wait() or
gfs2_glock_async_wait() is gfs2_upgrade_iopen_glock(), so call
gfs2_glock_holder_ready() there as well.

If a dinode has a pending truncate, the glock-specific instantiate function
for inodes wakes up the truncate function in the quota daemon.  Waiting for
the completion of the truncate was previously done by the glock state
engine, but we now need to wait in inode_go_instantiate().

This also means that gfs2_instantiate() will now no longer return any
"special" error codes.

Signed-off-by: Andreas Gruenbacher <agruenba@redhat.com>
2022-06-29 16:53:22 +02:00
..
acl.c vfs: add rcu argument to ->get_acl() callback 2021-08-18 22:08:24 +02:00
acl.h vfs: add rcu argument to ->get_acl() callback 2021-08-18 22:08:24 +02:00
aops.c fs: Change try_to_free_buffers() to take a folio 2022-05-09 23:12:34 -04:00
aops.h
bmap.c gfs2: Fix filesystem block deallocation for short writes 2022-05-13 21:59:18 +02:00
bmap.h gfs2: Clean up gfs2_unstuff_dinode 2021-06-29 10:56:51 +02:00
dentry.c gfs2: untangle the logic in gfs2_drevalidate 2019-09-03 09:42:41 +02:00
dir.c gfs2: Clean up gfs2_unstuff_dinode 2021-06-29 10:56:51 +02:00
dir.h gfs2: Delete an unnecessary check before brelse() 2019-09-04 20:22:17 +02:00
export.c gfs2: Minor gfs2_lookup_by_inum cleanup 2020-06-05 20:19:21 +02:00
file.c gfs2 fixes 2022-05-24 19:00:41 -07:00
gfs2.h
glock.c gfs2: Instantiate glocks ouside of glock state engine 2022-06-29 16:53:22 +02:00
glock.h gfs2: Instantiate glocks ouside of glock state engine 2022-06-29 16:53:22 +02:00
glops.c gfs2: Instantiate glocks ouside of glock state engine 2022-06-29 16:53:22 +02:00
glops.h gfs2: Split up gfs2_meta_sync into inode and rgrp versions 2020-10-29 22:16:46 +01:00
incore.h gfs2: remove RDF_UPTODATE flag 2021-10-25 08:42:19 +02:00
inode.c gfs2: Switch lock order of inode and iopen glock 2022-02-15 15:01:40 +01:00
inode.h gfs2: Convert to release_folio 2022-05-09 23:12:33 -04:00
Kconfig
lock_dlm.c gfs2: Expect -EBUSY after canceling dlm locking requests 2022-02-15 15:01:40 +01:00
log.c gfs2: tiny cleanup in gfs2_log_reserve 2021-08-19 12:31:17 -05:00
log.h gfs2: Clean up revokes on normal withdraws 2021-05-20 13:31:37 +02:00
lops.c block: remove the per-bio/request write hint 2022-03-07 12:45:57 -07:00
lops.h gfs2: Clean up revokes on normal withdraws 2021-05-20 13:31:37 +02:00
main.c gfs2: Use container_of() for gfs2_glock(aspace) 2022-05-24 21:29:14 +02:00
Makefile
meta_io.c gfs2: Convert to release_folio 2022-05-09 23:12:33 -04:00
meta_io.h gfs2: Use container_of() for gfs2_glock(aspace) 2022-05-24 21:29:14 +02:00
ops_fstype.c block: pass a block_device and opf to bio_alloc 2022-02-02 07:49:59 -07:00
quota.c gfs2: Convert function bh_get to use iomap 2022-05-24 21:29:14 +02:00
quota.h gfs2: move privileged user check to gfs2_quota_lock_check 2020-05-08 18:47:58 +02:00
recovery.c gfs2: replace 'found' with dedicated list iterator variable 2022-05-14 03:05:55 +02:00
recovery.h
rgrp.c gfs2 fixes 2022-05-24 19:00:41 -07:00
rgrp.h gfs2: gfs2_setattr_size error path fix 2022-02-15 15:01:40 +01:00
super.c gfs2: Instantiate glocks ouside of glock state engine 2022-06-29 16:53:22 +02:00
super.h gfs2: Don't release and reacquire local statfs bh 2021-08-20 09:03:46 -05:00
sys.c block: remove genhd.h 2022-02-02 07:49:59 -07:00
sys.h
trace_gfs2.h gfs2: Remove 'first' trace_gfs2_promote argument 2021-10-25 08:42:19 +02:00
trans.c gfs2: fix use-after-free in trans_drain 2021-03-07 17:04:55 +01:00
trans.h Merge branches 'rgrp-glock-sharing' and 'gfs2-revoke' from https://git.kernel.org/pub/scm/linux/kernel/git/gfs2/linux-gfs2.git 2021-02-23 18:54:22 +01:00
util.c gfs2: dump glocks from gfs2_consist_OBJ_i 2021-10-25 08:42:18 +02:00
util.h gfs2: don't stop reads while withdraw in progress 2021-08-20 09:03:46 -05:00
xattr.c gfs2: Fix a number of kernel-doc warnings 2021-04-09 22:14:13 +02:00
xattr.h