Picks missing quiesced-state related bits only from XC blktap.git
32923215. Issue was then duplicated through 595:
8651e424a229
(vbd_recheck_state), hence the second hunk.
Signed-off-by: Daniel Stodden <daniel.stodden@citrix.com>
From
3292321524cc5797bd0e01b9d36e71ed4a54cbbf Mon Sep 17 00:00:00 2001
Date: Tue, 10 Aug 2010 16:41:38 -0700
* don't issue requests while paused
* don't timeout requests while paused
* ensure progress on resume
Signed-off-by: Jake Wires <Jake.Wires@citrix.com>
---
drivers/tapdisk-vbd.c | 24 +++++++++++++++++++++++-
1 files changed, 23 insertions(+), 1 deletions(-)
if (list_empty(&vbd->new_requests))
return 0;
+ if (td_flag_test(vbd->state, TD_VBD_QUIESCED) ||
+ td_flag_test(vbd->state, TD_VBD_QUIESCE_REQUESTED))
+ return 0;
+
tapdisk_vbd_issue_new_requests(vbd);
return 1;
if (td_flag_test(vbd->state, TD_VBD_DEAD))
return tapdisk_vbd_kill_requests(vbd);
+ if (td_flag_test(vbd->state, TD_VBD_QUIESCED) ||
+ td_flag_test(vbd->state, TD_VBD_QUIESCE_REQUESTED))
+ return -EAGAIN;
+
err = tapdisk_vbd_reissue_failed_requests(vbd);
if (err)
return err;