rendered paste bodydiff --git a/qemu/block.c b/qemu/block.c
index 20d2e1c..28c6393 100644
--- a/qemu/block.c
+++ b/qemu/block.c
@@ -546,6 +546,8 @@ int bdrv_write(BlockDriverState *bs, int64_t sector_num,
int ret, len;
len = nb_sectors * 512;
ret = drv->bdrv_pwrite(bs, sector_num * 512, buf, len);
+ if (ret < 0 || ret != len)
+ abort();
if (ret < 0)
return ret;
else if (ret != len)
@@ -553,7 +555,10 @@ int bdrv_write(BlockDriverState *bs, int64_t sector_num,
else
return 0;
} else {
- return drv->bdrv_write(bs, sector_num, buf, nb_sectors);
+ int ret = drv->bdrv_write(bs, sector_num, buf, nb_sectors);
+ if (ret < 0)
+ abort();
+ return ret;
}
}
diff --git a/qemu/hw/ide.c b/qemu/hw/ide.c
index 329d053..d86f8b5 100644
--- a/qemu/hw/ide.c
+++ b/qemu/hw/ide.c
@@ -936,6 +936,9 @@ static void ide_write_dma_cb(void *opaque, int ret)
int n;
int64_t sector_num;
+ if (ret < 0)
+ abort();
+
n = s->io_buffer_size >> 9;
sector_num = ide_get_sector(s);
if (n > 0) {