diff options
author | Lars Ellenberg <lars.ellenberg@linbit.com> | 2013-03-27 09:08:49 -0400 |
---|---|---|
committer | Jens Axboe <axboe@kernel.dk> | 2013-03-28 12:10:26 -0400 |
commit | 0b6ef4164f50698eee536903d69d086add1a7889 (patch) | |
tree | a11a8b93ed9170efb87e38bb4f784ffddefcc52c /drivers | |
parent | 3990e04df085e0561ab34f84731dc5929585c526 (diff) |
drbd: fix if(); found by kbuild test robot
Recently introduced al_begin_io_nonblock() was returning -EBUSY,
even when it should return -EWOULDBLOCK.
Impact:
A few spurious wake_up() calls in prepare_al_transaction_nonblock().
Signed-off-by: Philipp Reisner <philipp.reisner@linbit.com>
Signed-off-by: Lars Ellenberg <lars.ellenberg@linbit.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/block/drbd/drbd_actlog.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/block/drbd/drbd_actlog.c b/drivers/block/drbd/drbd_actlog.c index 6afe173d5c2b..6608076dc39e 100644 --- a/drivers/block/drbd/drbd_actlog.c +++ b/drivers/block/drbd/drbd_actlog.c | |||
@@ -389,7 +389,7 @@ int drbd_al_begin_io_nonblock(struct drbd_conf *mdev, struct drbd_interval *i) | |||
389 | if (unlikely(tmp != NULL)) { | 389 | if (unlikely(tmp != NULL)) { |
390 | struct bm_extent *bm_ext = lc_entry(tmp, struct bm_extent, lce); | 390 | struct bm_extent *bm_ext = lc_entry(tmp, struct bm_extent, lce); |
391 | if (test_bit(BME_NO_WRITES, &bm_ext->flags)) { | 391 | if (test_bit(BME_NO_WRITES, &bm_ext->flags)) { |
392 | if (!test_and_set_bit(BME_PRIORITY, &bm_ext->flags)); | 392 | if (!test_and_set_bit(BME_PRIORITY, &bm_ext->flags)) |
393 | return -EBUSY; | 393 | return -EBUSY; |
394 | return -EWOULDBLOCK; | 394 | return -EWOULDBLOCK; |
395 | } | 395 | } |