]> git.proxmox.com Git - mirror_zfs.git/blobdiff - module/zfs/vdev_disk.c
Linux 4.8 compat: submit_bio()
[mirror_zfs.git] / module / zfs / vdev_disk.c
index 205f78d78c66a68908f4f798c7de5963d6e8f32a..28f145d049fb73341e23b44894a4d886c3a3c640 100644 (file)
@@ -484,18 +484,29 @@ bio_map(struct bio *bio, void *bio_ptr, unsigned int bio_size)
        return (bio_size);
 }
 
+static inline void
+vdev_submit_bio_impl(int rw, struct bio *bio)
+{
+#ifdef HAVE_1ARG_SUBMIT_BIO
+       bio->bi_rw |= rw;
+       submit_bio(bio);
+#else
+       submit_bio(rw, bio);
+#endif
+}
+
 static inline void
 vdev_submit_bio(int rw, struct bio *bio)
 {
 #ifdef HAVE_CURRENT_BIO_TAIL
        struct bio **bio_tail = current->bio_tail;
        current->bio_tail = NULL;
-       submit_bio(rw, bio);
+       vdev_submit_bio_impl(rw, bio);
        current->bio_tail = bio_tail;
 #else
        struct bio_list *bio_list = current->bio_list;
        current->bio_list = NULL;
-       submit_bio(rw, bio);
+       vdev_submit_bio_impl(rw, bio);
        current->bio_list = bio_list;
 #endif
 }