diff options
author | Andreas Gruenbacher <agruenba@redhat.com> | 2019-03-14 16:48:48 +0100 |
---|---|---|
committer | Andreas Gruenbacher <agruenba@redhat.com> | 2019-05-07 22:33:44 +0200 |
commit | 71921ef85928e95e3d942c747c9d40443a5ff775 (patch) | |
tree | 55e56ea812ed519318d7f9d7dbd0c2ad5c27144d /fs/gfs2/log.c | |
parent | b4b52b881cf08e13d110eac811d4becc0775abbf (diff) |
gfs2: Fix loop in gfs2_rbm_find (v2)
Fix the resource group wrap-around logic in gfs2_rbm_find that commit
e579ed4f44 broke. The bug can lead to unnecessary repeated scanning of the
same bitmaps; there is a risk that future changes will turn this into an
endless loop.
This is an updated version of commit 2d29f6b96d ("gfs2: Fix loop in
gfs2_rbm_find") which ended up being reverted because it introduced a
performance regression in iozone (see commit e74c98ca2d). Changes since v1:
- Simplify the wrap-around logic.
- Handle the case where each resource group only has a single bitmap block
(small filesystem).
- Update rd_extfail_pt whenever we scan the entire bitmap, even when we don't
start the scan at the very beginning of the bitmap.
Fixes: e579ed4f446e ("GFS2: Introduce rbm field bii")
Signed-off-by: Andreas Gruenbacher <agruenba@redhat.com>
Diffstat (limited to 'fs/gfs2/log.c')
0 files changed, 0 insertions, 0 deletions