gfs2: Revert "Fix loop in gfs2_rbm_find"
authorAndreas Gruenbacher <agruenba@redhat.com>
Wed, 30 Jan 2019 20:30:36 +0000 (21:30 +0100)
committerLinus Torvalds <torvalds@linux-foundation.org>
Thu, 31 Jan 2019 19:45:11 +0000 (11:45 -0800)
This reverts commit 2d29f6b96d8f80322ed2dd895bca590491c38d34.

It turns out that the fix can lead to a ~20 percent performance regression
in initial writes to the page cache according to iozone.  Let's revert this
for now to have more time for a proper fix.

Cc: stable@vger.kernel.org # v3.13+
Signed-off-by: Andreas Gruenbacher <agruenba@redhat.com>
Signed-off-by: Bob Peterson <rpeterso@redhat.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
fs/gfs2/rgrp.c

index 831d7cb5a49c4bf4fdaa2f208938ecc607d9016b..17a8d3b4399057e18cf8e3ba071187a81390a49c 100644 (file)
@@ -1780,9 +1780,9 @@ static int gfs2_rbm_find(struct gfs2_rbm *rbm, u8 state, u32 *minext,
                        goto next_iter;
                }
                if (ret == -E2BIG) {
-                       n += rbm->bii - initial_bii;
                        rbm->bii = 0;
                        rbm->offset = 0;
+                       n += (rbm->bii - initial_bii);
                        goto res_covered_end_of_rgrp;
                }
                return ret;