Skip to content

Commit

Permalink
Revert "md: add md_submit_discard_bio() for submitting discard bio"
Browse files Browse the repository at this point in the history
BugLink: https://bugs.launchpad.net/bugs/1907262

This reverts commit 5c7c2da.

Signed-off-by: Khalid Elmously <khalid.elmously@canonical.com>
  • Loading branch information
Khalid Elmously committed Dec 9, 2020
1 parent f831102 commit 92f1de8
Show file tree
Hide file tree
Showing 3 changed files with 12 additions and 24 deletions.
20 changes: 0 additions & 20 deletions drivers/md/md.c
Original file line number Diff line number Diff line change
Expand Up @@ -8558,26 +8558,6 @@ void md_write_end(struct mddev *mddev)

EXPORT_SYMBOL(md_write_end);

/* This is used by raid0 and raid10 */
void md_submit_discard_bio(struct mddev *mddev, struct md_rdev *rdev,
struct bio *bio, sector_t start, sector_t size)
{
struct bio *discard_bio = NULL;

if (__blkdev_issue_discard(rdev->bdev, start, size,
GFP_NOIO, 0, &discard_bio) || !discard_bio)
return;

bio_chain(discard_bio, bio);
bio_clone_blkg_association(discard_bio, bio);
if (mddev->gendisk)
trace_block_bio_remap(bdev_get_queue(rdev->bdev),
discard_bio, disk_devt(mddev->gendisk),
bio->bi_iter.bi_sector);
generic_make_request(discard_bio);
}
EXPORT_SYMBOL(md_submit_discard_bio);

/* md_allow_write(mddev)
* Calling this ensures that the array is marked 'active' so that writes
* may proceed without blocking. It is important to call this before
Expand Down
2 changes: 0 additions & 2 deletions drivers/md/md.h
Original file line number Diff line number Diff line change
Expand Up @@ -710,8 +710,6 @@ extern void md_write_end(struct mddev *mddev);
extern void md_done_sync(struct mddev *mddev, int blocks, int ok);
extern void md_error(struct mddev *mddev, struct md_rdev *rdev);
extern void md_finish_reshape(struct mddev *mddev);
extern void md_submit_discard_bio(struct mddev *mddev, struct md_rdev *rdev,
struct bio *bio, sector_t start, sector_t size);

extern int mddev_congested(struct mddev *mddev, int bits);
extern bool __must_check md_flush_request(struct mddev *mddev, struct bio *bio);
Expand Down
14 changes: 12 additions & 2 deletions drivers/md/raid0.c
Original file line number Diff line number Diff line change
Expand Up @@ -526,6 +526,7 @@ static void raid0_handle_discard(struct mddev *mddev, struct bio *bio)

for (disk = 0; disk < zone->nb_dev; disk++) {
sector_t dev_start, dev_end;
struct bio *discard_bio = NULL;
struct md_rdev *rdev;

if (disk < start_disk_index)
Expand All @@ -548,9 +549,18 @@ static void raid0_handle_discard(struct mddev *mddev, struct bio *bio)

rdev = conf->devlist[(zone - conf->strip_zone) *
conf->strip_zone[0].nb_dev + disk];
md_submit_discard_bio(mddev, rdev, bio,
if (__blkdev_issue_discard(rdev->bdev,
dev_start + zone->dev_start + rdev->data_offset,
dev_end - dev_start);
dev_end - dev_start, GFP_NOIO, 0, &discard_bio) ||
!discard_bio)
continue;
bio_chain(discard_bio, bio);
bio_clone_blkg_association(discard_bio, bio);
if (mddev->gendisk)
trace_block_bio_remap(bdev_get_queue(rdev->bdev),
discard_bio, disk_devt(mddev->gendisk),
bio->bi_iter.bi_sector);
generic_make_request(discard_bio);
}
bio_endio(bio);
}
Expand Down

0 comments on commit 92f1de8

Please sign in to comment.