]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
Revert "gfs2: Fix use of bio_chain"
authorAndreas Gruenbacher <agruenba@redhat.com>
Mon, 12 Jan 2026 10:47:35 +0000 (11:47 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 23 Jan 2026 10:21:12 +0000 (11:21 +0100)
commit 469d71512d135907bf5ea0972dfab8c420f57848 upstream.

This reverts commit 8a157e0a0aa5143b5d94201508c0ca1bb8cfb941.

That commit incorrectly assumed that the bio_chain() arguments were
swapped in gfs2.  However, gfs2 intentionally constructs bio chains so
that the first bio's bi_end_io callback is invoked when all bios in the
chain have completed, unlike bio chains where the last bio's callback is
invoked.

Fixes: 8a157e0a0aa5 ("gfs2: Fix use of bio_chain")
Cc: stable@vger.kernel.org
Signed-off-by: Andreas Gruenbacher <agruenba@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
fs/gfs2/lops.c

index 914d03f6c4e829ed54f1a4c16c73cdae4abae7da..9c8c305a75c46853eefbd0e86efc66250276a4c9 100644 (file)
@@ -487,7 +487,7 @@ static struct bio *gfs2_chain_bio(struct bio *prev, unsigned int nr_iovecs)
        new = bio_alloc(prev->bi_bdev, nr_iovecs, prev->bi_opf, GFP_NOIO);
        bio_clone_blkg_association(new, prev);
        new->bi_iter.bi_sector = bio_end_sector(prev);
-       bio_chain(prev, new);
+       bio_chain(new, prev);
        submit_bio(prev);
        return new;
 }