aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLuiz Capitulino <lcapitulino@redhat.com>2011-10-14 17:11:23 -0300
committerLuiz Capitulino <lcapitulino@redhat.com>2011-10-27 11:48:47 -0200
commitd6bf279e7a949ad49a48a215f9ec28cb6ceb28aa (patch)
tree1dd1a3912113b2a12aa0bf295df8404c334627e8
parentde0b36b67ea3e1ab3aa1b6625c4fd5cb29fa0ada (diff)
block: iostatus: Drop BDRV_IOS_INVAL
A future commit will convert bdrv_info() to the QAPI and it won't provide IOS_INVAL. Luckily all we have to do is to add a new 'iostatus_enabled' member to BlockDriverState and use it instead. Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com>
-rw-r--r--block.c5
-rw-r--r--block.h3
-rw-r--r--block_int.h1
3 files changed, 5 insertions, 4 deletions
diff --git a/block.c b/block.c
index 70aab63e4b..4dc2b85b86 100644
--- a/block.c
+++ b/block.c
@@ -3139,6 +3139,7 @@ int bdrv_in_use(BlockDriverState *bs)
void bdrv_iostatus_enable(BlockDriverState *bs)
{
+ bs->iostatus_enabled = true;
bs->iostatus = BDRV_IOS_OK;
}
@@ -3146,7 +3147,7 @@ void bdrv_iostatus_enable(BlockDriverState *bs)
* enables it _and_ the VM is configured to stop on errors */
bool bdrv_iostatus_is_enabled(const BlockDriverState *bs)
{
- return (bs->iostatus != BDRV_IOS_INVAL &&
+ return (bs->iostatus_enabled &&
(bs->on_write_error == BLOCK_ERR_STOP_ENOSPC ||
bs->on_write_error == BLOCK_ERR_STOP_ANY ||
bs->on_read_error == BLOCK_ERR_STOP_ANY));
@@ -3154,7 +3155,7 @@ bool bdrv_iostatus_is_enabled(const BlockDriverState *bs)
void bdrv_iostatus_disable(BlockDriverState *bs)
{
- bs->iostatus = BDRV_IOS_INVAL;
+ bs->iostatus_enabled = false;
}
void bdrv_iostatus_reset(BlockDriverState *bs)
diff --git a/block.h b/block.h
index 5a042c96e7..1823e93801 100644
--- a/block.h
+++ b/block.h
@@ -78,8 +78,7 @@ typedef enum {
} BlockMonEventAction;
typedef enum {
- BDRV_IOS_INVAL, BDRV_IOS_OK, BDRV_IOS_FAILED, BDRV_IOS_ENOSPC,
- BDRV_IOS_MAX
+ BDRV_IOS_OK, BDRV_IOS_FAILED, BDRV_IOS_ENOSPC, BDRV_IOS_MAX
} BlockIOStatus;
void bdrv_iostatus_enable(BlockDriverState *bs);
diff --git a/block_int.h b/block_int.h
index dac00f504f..3929ec90a5 100644
--- a/block_int.h
+++ b/block_int.h
@@ -202,6 +202,7 @@ struct BlockDriverState {
drivers. They are not used by the block driver */
int cyls, heads, secs, translation;
BlockErrorAction on_read_error, on_write_error;
+ bool iostatus_enabled;
BlockIOStatus iostatus;
char device_name[32];
unsigned long *dirty_bitmap;