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

Commit 597a60fa authored by Stefan Behrens's avatar Stefan Behrens Committed by Chris Mason
Browse files

Btrfs: don't count I/O statistic read errors for missing devices



It is normal behaviour of the low level btrfs function btrfs_map_bio()
to complete a bio with -EIO if the device is missing, instead of just
preventing the bio creation in an earlier step.
This used to cause I/O statistic read error increments and annoying
printk_ratelimited messages. This commit fixes the issue.

Signed-off-by: default avatarStefan Behrens <sbehrens@giantdisaster.de>
Reported-by: default avatarCarey Underwood <cwillu@cwillu.com>
parent d42244a0
Loading
Loading
Loading
Loading
+12 −10
Original line number Diff line number Diff line
@@ -4061,6 +4061,7 @@ static void btrfs_end_bio(struct bio *bio, int err)

			BUG_ON(stripe_index >= bbio->num_stripes);
			dev = bbio->stripes[stripe_index].dev;
			if (dev->bdev) {
				if (bio->bi_rw & WRITE)
					btrfs_dev_stat_inc(dev,
						BTRFS_DEV_STAT_WRITE_ERRS);
@@ -4073,6 +4074,7 @@ static void btrfs_end_bio(struct bio *bio, int err)
				btrfs_dev_stat_print_on_error(dev);
			}
		}
	}

	if (bio == bbio->orig_bio)
		is_orig_bio = 1;