diff options
author | Andreas Gruenbacher <agruenba@redhat.com> | 2022-12-09 18:28:20 +0100 |
---|---|---|
committer | Andreas Gruenbacher <agruenba@redhat.com> | 2023-01-31 22:40:24 +0100 |
commit | 3056dc46559bfe3fc4b79771dcbc2d003f9fd313 (patch) | |
tree | 7a34174aadbcdf5bc3e65e975b45b6a349be448c /fs/gfs2/incore.h | |
parent | 228804a35caa7edae4a81049281e7f106dea1ad1 (diff) | |
download | linux-3056dc46559bfe3fc4b79771dcbc2d003f9fd313.tar.gz linux-3056dc46559bfe3fc4b79771dcbc2d003f9fd313.tar.bz2 linux-3056dc46559bfe3fc4b79771dcbc2d003f9fd313.zip |
gfs2: Get rid of GLF_PENDING_DELETE flag
Get rid of the GLF_PENDING_DELETE glock flag introduced by commit
a0e3cc65fa29 ("gfs2: Turn gl_delete into a delayed work"). The only use
of that flag is to prevent the iopen glock from being demoted (i.e.,
unlocked) while delete work is pending. It turns out that demoting the
iopen glock while delete work is pending is perfectly fine; we only need
to make sure that the glock isn't being freed while still in use. This
is ensured by the previous patch because delete_work_func() owns a
reference while the work is queued or running.
With these changes, gfs2_queue_delete_work() no longer takes the glock
spin lock, so we can use it in iopen_go_callback() instead of
open-coding it there.
Signed-off-by: Andreas Gruenbacher <agruenba@redhat.com>
Diffstat (limited to 'fs/gfs2/incore.h')
-rw-r--r-- | fs/gfs2/incore.h | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/fs/gfs2/incore.h b/fs/gfs2/incore.h index c26765080f28..cd886364b11d 100644 --- a/fs/gfs2/incore.h +++ b/fs/gfs2/incore.h @@ -329,8 +329,7 @@ enum { GLF_LRU = 13, GLF_OBJECT = 14, /* Used only for tracing */ GLF_BLOCKING = 15, - GLF_PENDING_DELETE = 17, - GLF_FREEING = 18, /* Wait for glock to be freed */ + GLF_FREEING = 16, /* Wait for glock to be freed */ }; struct gfs2_glock { |