xfs: chain bios the right way around in xfs_rw_bdev
authorChristoph Hellwig <hch@lst.de>
Tue, 9 Jul 2019 15:58:28 +0000 (08:58 -0700)
committerDarrick J. Wong <darrick.wong@oracle.com>
Wed, 10 Jul 2019 17:04:16 +0000 (10:04 -0700)
We need to chain the earlier bios to the later ones, so that
submit_bio_wait waits on the bio that all the completions are
dispatched to.

Fixes: 6ad5b3255b9e ("xfs: use bios directly to read and write the log recovery buffers")
Reported-by: Dave Chinner <david@fromorbit.com>
Tested-by: Dave Chinner <david@fromorbit.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Darrick J. Wong <darrick.wong@oracle.com>
Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
fs/xfs/xfs_bio_io.c

index 757c1d9293ebbe40491ca28a31078c49dc880fd2..e2148f2d5d6bc048ebc666fc6ada98fb13fe5f06 100644 (file)
@@ -43,7 +43,7 @@ xfs_rw_bdev(
                        bio_copy_dev(bio, prev);
                        bio->bi_iter.bi_sector = bio_end_sector(prev);
                        bio->bi_opf = prev->bi_opf;
-                       bio_chain(bio, prev);
+                       bio_chain(prev, bio);
 
                        submit_bio(prev);
                }