aboutsummaryrefslogtreecommitdiff
path: root/module/zfs/vdev_disk.c
diff options
context:
space:
mode:
authorBrian Behlendorf <behlendorf1@llnl.gov>2019-07-06 02:52:27 +0000
committerBrian Behlendorf <behlendorf1@llnl.gov>2019-07-06 03:38:56 +0000
commit1086f54219ebcdebf05b8f6bd10142c43c1f4f3f (patch)
treedae5def33a28d0035556cab4e9669f35ab4bfff6 /module/zfs/vdev_disk.c
parent52a83dc6940ebeaca91f53494bb9be6f9b6bbc52 (diff)
downloadsrc-1086f54219ebcdebf05b8f6bd10142c43c1f4f3f.tar.gz
src-1086f54219ebcdebf05b8f6bd10142c43c1f4f3f.zip
Diffstat (limited to 'module/zfs/vdev_disk.c')
-rw-r--r--module/zfs/vdev_disk.c10
1 files changed, 4 insertions, 6 deletions
diff --git a/module/zfs/vdev_disk.c b/module/zfs/vdev_disk.c
index 8f06c411758f..1686ddfce77d 100644
--- a/module/zfs/vdev_disk.c
+++ b/module/zfs/vdev_disk.c
@@ -621,7 +621,6 @@ retry:
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 @@ retry:
}
/* 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));
}