gfs2: Replace gfs2_glock_queue_put with gfs2_glock_put_async
authorAndreas Gruenbacher <agruenba@redhat.com>
Fri, 15 Mar 2024 15:45:39 +0000 (16:45 +0100)
committerAndreas Gruenbacher <agruenba@redhat.com>
Tue, 9 Apr 2024 16:35:57 +0000 (18:35 +0200)
commitee2be7d7c7f32783f60ee5fe59b91548a4571f10
tree33b3e88becb4b2bfe7bad319602d44549ad1c7fc
parentf80d882edcf242d0256d9e51b09d5fb7a3a0d3b4
gfs2: Replace gfs2_glock_queue_put with gfs2_glock_put_async

Function gfs2_glock_queue_put() puts a glock reference by enqueuing
glock work instead of putting the reference directly.  This ensures that
the operation won't sleep, but it is costly and really only necessary
when putting the final glock reference.  Replace it with a new
gfs2_glock_put_async() function that only queues glock work when putting
the last glock reference.

Signed-off-by: Andreas Gruenbacher <agruenba@redhat.com>
fs/gfs2/glock.c
fs/gfs2/glock.h
fs/gfs2/log.c
fs/gfs2/super.c