diff options
author | Christoph Hellwig <hch@lst.de> | 2010-09-16 14:51:46 -0400 |
---|---|---|
committer | Jens Axboe <jaxboe@fusionio.com> | 2010-09-16 14:52:58 -0400 |
commit | dd3932eddf428571762596e17b65f5dc92ca361b (patch) | |
tree | 57cec5ae2f862037f78b7e993323d77955bb6463 /drivers/block/drbd | |
parent | 8786fb70ccb36c7cff64680bb80c46d3a09d44db (diff) |
block: remove BLKDEV_IFL_WAIT
All the blkdev_issue_* helpers can only sanely be used for synchronous
caller. To issue cache flushes or barriers asynchronously the caller needs
to set up a bio by itself with a completion callback to move the asynchronous
state machine ahead. So drop the BLKDEV_IFL_WAIT flag that is always
specified when calling blkdev_issue_* and also remove the now unused flags
argument to blkdev_issue_flush and blkdev_issue_zeroout. For
blkdev_issue_discard we need to keep it for the secure discard flag, which
gains a more descriptive name and loses the bitops vs flag confusion.
Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
Diffstat (limited to 'drivers/block/drbd')
-rw-r--r-- | drivers/block/drbd/drbd_int.h | 3 | ||||
-rw-r--r-- | drivers/block/drbd/drbd_receiver.c | 2 |
2 files changed, 2 insertions, 3 deletions
diff --git a/drivers/block/drbd/drbd_int.h b/drivers/block/drbd/drbd_int.h index 352441b0f92f..c2ef476f5711 100644 --- a/drivers/block/drbd/drbd_int.h +++ b/drivers/block/drbd/drbd_int.h | |||
@@ -2321,8 +2321,7 @@ static inline void drbd_md_flush(struct drbd_conf *mdev) | |||
2321 | if (test_bit(MD_NO_BARRIER, &mdev->flags)) | 2321 | if (test_bit(MD_NO_BARRIER, &mdev->flags)) |
2322 | return; | 2322 | return; |
2323 | 2323 | ||
2324 | r = blkdev_issue_flush(mdev->ldev->md_bdev, GFP_KERNEL, NULL, | 2324 | r = blkdev_issue_flush(mdev->ldev->md_bdev, GFP_KERNEL, NULL); |
2325 | BLKDEV_IFL_WAIT); | ||
2326 | if (r) { | 2325 | if (r) { |
2327 | set_bit(MD_NO_BARRIER, &mdev->flags); | 2326 | set_bit(MD_NO_BARRIER, &mdev->flags); |
2328 | dev_err(DEV, "meta data flush failed with status %d, disabling md-flushes\n", r); | 2327 | dev_err(DEV, "meta data flush failed with status %d, disabling md-flushes\n", r); |
diff --git a/drivers/block/drbd/drbd_receiver.c b/drivers/block/drbd/drbd_receiver.c index 081522d3c742..df15e7f0e7b7 100644 --- a/drivers/block/drbd/drbd_receiver.c +++ b/drivers/block/drbd/drbd_receiver.c | |||
@@ -975,7 +975,7 @@ static enum finish_epoch drbd_flush_after_epoch(struct drbd_conf *mdev, struct d | |||
975 | 975 | ||
976 | if (mdev->write_ordering >= WO_bdev_flush && get_ldev(mdev)) { | 976 | if (mdev->write_ordering >= WO_bdev_flush && get_ldev(mdev)) { |
977 | rv = blkdev_issue_flush(mdev->ldev->backing_bdev, GFP_KERNEL, | 977 | rv = blkdev_issue_flush(mdev->ldev->backing_bdev, GFP_KERNEL, |
978 | NULL, BLKDEV_IFL_WAIT); | 978 | NULL); |
979 | if (rv) { | 979 | if (rv) { |
980 | dev_err(DEV, "local disk flush failed with status %d\n", rv); | 980 | dev_err(DEV, "local disk flush failed with status %d\n", rv); |
981 | /* would rather check on EOPNOTSUPP, but that is not reliable. | 981 | /* would rather check on EOPNOTSUPP, but that is not reliable. |