Re: bi_vcnt checks for repair

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, Nov 11, 2016 at 11:31:51AM -0800, Liu Bo wrote:
> Try to explain it a bit, the following assumes that the data that's
> being read has at least one copy in another device,
> 
> if a read bio contains two pages and the second one is failing on
> checksum check, then we get into bio_readpage_error, in which it finds
> this bio has two pages, so it creats a new bio (so-called validation
> request) which only includes the fail-on-checksum victim page and issues
> it with REQ_FAILFAST_DEV to read the page again in hope of passing the
> checksum check, if it stills fails somehow, it comes into
> bio_readpage_error again to do another try but along with a different
> copy.
> 
> Overall, this bi_vcnt is to tell whether the bio is a normal one and a
> validation one.  If the validation bio got merged somehow, then we need
> to do something to prevent that from happening.

Can't we just set a different end_io handler for the two cases?
--
To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux Filesystem Development]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux