All pastes #772942 Raw Edit

Mine

public text v1 · immutable
·published 2007-11-14 04:27 UTC
rendered paste body
diff --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) {