Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit d5245d76 authored by Christoph Hellwig's avatar Christoph Hellwig Committed by Jens Axboe
Browse files

fs: simplify dio_bio_complete



Only read bio->bi_error once in the common path.

Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
Reviewed-by: default avatarBart Van Assche <Bart.VanAssche@sandisk.com>
Signed-off-by: default avatarJens Axboe <axboe@fb.com>
parent 4055351c
Loading
Loading
Loading
Loading
+2 −4
Original line number Diff line number Diff line
@@ -477,13 +477,12 @@ static int dio_bio_complete(struct dio *dio, struct bio *bio)
{
	struct bio_vec *bvec;
	unsigned i;
	int err;
	int err = bio->bi_error;

	if (bio->bi_error)
	if (err)
		dio->io_error = -EIO;

	if (dio->is_async && dio->op == REQ_OP_READ && dio->should_dirty) {
		err = bio->bi_error;
		bio_check_pages_dirty(bio);	/* transfers ownership */
	} else {
		bio_for_each_segment_all(bvec, bio, i) {
@@ -494,7 +493,6 @@ static int dio_bio_complete(struct dio *dio, struct bio *bio)
				set_page_dirty_lock(page);
			put_page(page);
		}
		err = bio->bi_error;
		bio_put(bio);
	}
	return err;