Merge tag 'for-5.18/parisc-2' of git://git.kernel.org/pub/scm/linux/kernel/git/deller...
[linux-2.6-microblaze.git] / block / blk-lib.c
index fc6ea52..237d60d 100644 (file)
@@ -132,94 +132,6 @@ int blkdev_issue_discard(struct block_device *bdev, sector_t sector,
 }
 EXPORT_SYMBOL(blkdev_issue_discard);
 
-/**
- * __blkdev_issue_write_same - generate number of bios with same page
- * @bdev:      target blockdev
- * @sector:    start sector
- * @nr_sects:  number of sectors to write
- * @gfp_mask:  memory allocation flags (for bio_alloc)
- * @page:      page containing data to write
- * @biop:      pointer to anchor bio
- *
- * Description:
- *  Generate and issue number of bios(REQ_OP_WRITE_SAME) with same page.
- */
-static int __blkdev_issue_write_same(struct block_device *bdev, sector_t sector,
-               sector_t nr_sects, gfp_t gfp_mask, struct page *page,
-               struct bio **biop)
-{
-       struct request_queue *q = bdev_get_queue(bdev);
-       unsigned int max_write_same_sectors;
-       struct bio *bio = *biop;
-       sector_t bs_mask;
-
-       if (bdev_read_only(bdev))
-               return -EPERM;
-
-       bs_mask = (bdev_logical_block_size(bdev) >> 9) - 1;
-       if ((sector | nr_sects) & bs_mask)
-               return -EINVAL;
-
-       if (!bdev_write_same(bdev))
-               return -EOPNOTSUPP;
-
-       /* Ensure that max_write_same_sectors doesn't overflow bi_size */
-       max_write_same_sectors = bio_allowed_max_sectors(q);
-
-       while (nr_sects) {
-               bio = blk_next_bio(bio, bdev, 1, REQ_OP_WRITE_SAME, gfp_mask);
-               bio->bi_iter.bi_sector = sector;
-               bio->bi_vcnt = 1;
-               bio->bi_io_vec->bv_page = page;
-               bio->bi_io_vec->bv_offset = 0;
-               bio->bi_io_vec->bv_len = bdev_logical_block_size(bdev);
-
-               if (nr_sects > max_write_same_sectors) {
-                       bio->bi_iter.bi_size = max_write_same_sectors << 9;
-                       nr_sects -= max_write_same_sectors;
-                       sector += max_write_same_sectors;
-               } else {
-                       bio->bi_iter.bi_size = nr_sects << 9;
-                       nr_sects = 0;
-               }
-               cond_resched();
-       }
-
-       *biop = bio;
-       return 0;
-}
-
-/**
- * blkdev_issue_write_same - queue a write same operation
- * @bdev:      target blockdev
- * @sector:    start sector
- * @nr_sects:  number of sectors to write
- * @gfp_mask:  memory allocation flags (for bio_alloc)
- * @page:      page containing data
- *
- * Description:
- *    Issue a write same request for the sectors in question.
- */
-int blkdev_issue_write_same(struct block_device *bdev, sector_t sector,
-                               sector_t nr_sects, gfp_t gfp_mask,
-                               struct page *page)
-{
-       struct bio *bio = NULL;
-       struct blk_plug plug;
-       int ret;
-
-       blk_start_plug(&plug);
-       ret = __blkdev_issue_write_same(bdev, sector, nr_sects, gfp_mask, page,
-                       &bio);
-       if (ret == 0 && bio) {
-               ret = submit_bio_wait(bio);
-               bio_put(bio);
-       }
-       blk_finish_plug(&plug);
-       return ret;
-}
-EXPORT_SYMBOL(blkdev_issue_write_same);
-
 static int __blkdev_issue_write_zeroes(struct block_device *bdev,
                sector_t sector, sector_t nr_sects, gfp_t gfp_mask,
                struct bio **biop, unsigned flags)