aboutsummaryrefslogtreecommitdiff
path: root/rumpdisk/block-rump.c
diff options
context:
space:
mode:
Diffstat (limited to 'rumpdisk/block-rump.c')
-rw-r--r--rumpdisk/block-rump.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/rumpdisk/block-rump.c b/rumpdisk/block-rump.c
index 224e4e5b..5477d886 100644
--- a/rumpdisk/block-rump.c
+++ b/rumpdisk/block-rump.c
@@ -326,6 +326,9 @@ rumpdisk_device_read (void *d, mach_port_t reply_port,
if (ret != KERN_SUCCESS)
return ENOMEM;
+ /* Ensure physical allocation. */
+ memset (buf, 0, npages * pagesize);
+
err = rump_sys_pread (bd->rump_fd, (void *)buf, (size_t)count, (off_t)bn * bd->block_size);
if (err < 0)
{