Revert "Fail early on bio corruption confirmed on 5.2-rc1"
This reverts commit aa7aab6c45
.
The change is not compatible with CentOS 6's 2.6.32 based kernel
due to differnces in the bio layer.
Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
Issue #8961
This commit is contained in:
parent
52a83dc694
commit
1086f54219
@ -621,7 +621,6 @@ __vdev_disk_physio(struct block_device *bdev, zio_t *zio,
|
||||
bio_offset = io_offset;
|
||||
bio_size = io_size;
|
||||
for (i = 0; i <= dr->dr_bio_count; i++) {
|
||||
unsigned int nr_iovecs;
|
||||
|
||||
/* Finished constructing bio's for given buffer */
|
||||
if (bio_size <= 0)
|
||||
@ -639,11 +638,10 @@ __vdev_disk_physio(struct block_device *bdev, zio_t *zio,
|
||||
}
|
||||
|
||||
/* bio_alloc() with __GFP_WAIT never returns NULL */
|
||||
nr_iovecs = MIN(abd_nr_pages_off(zio->io_abd, bio_size,
|
||||
abd_offset), BIO_MAX_PAGES);
|
||||
dr->dr_bio[i] = bio_alloc(GFP_NOIO, nr_iovecs);
|
||||
if (unlikely(dr->dr_bio[i] == NULL ||
|
||||
(unsigned int)dr->dr_bio[i]->bi_max_vecs != nr_iovecs)) {
|
||||
dr->dr_bio[i] = bio_alloc(GFP_NOIO,
|
||||
MIN(abd_nr_pages_off(zio->io_abd, bio_size, abd_offset),
|
||||
BIO_MAX_PAGES));
|
||||
if (unlikely(dr->dr_bio[i] == NULL)) {
|
||||
vdev_disk_dio_free(dr);
|
||||
return (SET_ERROR(ENOMEM));
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user