]> git.proxmox.com Git - mirror_zfs.git/blobdiff - module/zfs/vdev_disk.c
Illumos 5027 - zfs large block support
[mirror_zfs.git] / module / zfs / vdev_disk.c
index db13b7bc479a79daa8bd859de3653f5b69ebeb29..0196f3945e4acdc82284b8cbb323c4004843c6e9 100644 (file)
@@ -552,9 +552,9 @@ retry:
                        goto retry;
                }
 
-               dr->dr_bio[i] = bio_alloc(GFP_NOIO,
-                   bio_nr_pages(bio_ptr, bio_size));
                /* bio_alloc() with __GFP_WAIT never returns NULL */
+               dr->dr_bio[i] = bio_alloc(GFP_NOIO,
+                   MIN(bio_nr_pages(bio_ptr, bio_size), BIO_MAX_PAGES));
                if (unlikely(dr->dr_bio[i] == NULL)) {
                        vdev_disk_dio_free(dr);
                        return (ENOMEM);