OSDN Git Service

block: make generic_make_request handle arbitrarily sized bios
[sagit-ice-cold/kernel_xiaomi_msm8998.git] / drivers / s390 / block / xpram.c
index 7d4e939..02871f1 100644 (file)
@@ -190,6 +190,8 @@ static void xpram_make_request(struct request_queue *q, struct bio *bio)
        unsigned long page_addr;
        unsigned long bytes;
 
+       blk_queue_split(q, &bio, q->bio_split);
+
        if ((bio->bi_iter.bi_sector & 7) != 0 ||
            (bio->bi_iter.bi_size & 4095) != 0)
                /* Request is not page-aligned. */
@@ -220,8 +222,7 @@ static void xpram_make_request(struct request_queue *q, struct bio *bio)
                        index++;
                }
        }
-       set_bit(BIO_UPTODATE, &bio->bi_flags);
-       bio_endio(bio, 0);
+       bio_endio(bio);
        return;
 fail:
        bio_io_error(bio);