]> git.baikalelectronics.ru Git - kernel.git/commit
gfs2: Eliminate gl_vm
authorBob Peterson <rpeterso@redhat.com>
Thu, 15 Oct 2020 16:07:26 +0000 (11:07 -0500)
committerAndreas Gruenbacher <agruenba@redhat.com>
Tue, 20 Oct 2020 21:16:22 +0000 (23:16 +0200)
commit47471a9535d8bea5f04696b5ed255fbb6f19c2de
tree6a77d310d4edc4c8654a85fb5442dd6657d47579
parent0557de02b19942e713ab852b8c62114d156d8ed8
gfs2: Eliminate gl_vm

The gfs2_glock structure has a gl_vm member, introduced in commit 2ce820787df6a
("GFS2: Use range based functions for rgrp sync/invalidation"), which stores
the location of resource groups within their address space.  This structure is
in a union with iopen glock specific fields.  It was introduced because at
unmount time, the resource group objects were destroyed before flushing out any
pending resource group glock work, and flushing out such work could require
flushing / truncating the address space.

Since commit b03d544af9a2a ("gfs2: Rework how rgrp buffer_heads are managed"),
any pending resource group glock work is flushed out before destroying the
resource group objects.  So the resource group objects will now always exist in
rgrp_go_sync and rgrp_go_inval, and we now simply compute the gl_vm values
where needed instead of caching them.  This also eliminates the union.

Signed-off-by: Bob Peterson <rpeterso@redhat.com>
Signed-off-by: Andreas Gruenbacher <agruenba@redhat.com>
fs/gfs2/glops.c
fs/gfs2/incore.h
fs/gfs2/rgrp.c