summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSamuel Thibault <samuel.thibault@ens-lyon.org>2022-02-25 19:39:49 +0100
committerSamuel Thibault <samuel.thibault@ens-lyon.org>2022-02-25 19:39:49 +0100
commit959230b77c639a33268b0246d83a4058a10a408e (patch)
tree994634d892735a87d652cd19f85900778aed702f
parentfa52e8d757c9cab907dd4f2bca22c9c562e4d556 (diff)
rumpdisk: Do not set a number of bytes in case of errors
The RPC stub will not read it on error anyway. * rumpdisk/block-rump.c (rumpdisk_device_write, rumpdisk_device_read): Do not set the number of bytes when returning an error.
-rw-r--r--rumpdisk/block-rump.c11
1 files changed, 2 insertions, 9 deletions
diff --git a/rumpdisk/block-rump.c b/rumpdisk/block-rump.c
index db98ef6d..10fa66ad 100644
--- a/rumpdisk/block-rump.c
+++ b/rumpdisk/block-rump.c
@@ -317,10 +317,7 @@ rumpdisk_device_write (void *d, mach_port_t reply_port,
vm_deallocate (mach_task_self (), (vm_address_t) buf, count);
if (written < 0)
- {
- *bytes_written = 0;
- return rump_errno2host (err);
- }
+ return rump_errno2host (err);
}
else
{
@@ -346,10 +343,7 @@ rumpdisk_device_write (void *d, mach_port_t reply_port,
done = rump_sys_pwrite (bd->rump_fd, (const void *)data + written, todo, (off_t)bn * bd->block_size + written);
if (done < 0)
- {
- *bytes_written = 0;
- return rump_errno2host (errno);
- }
+ return rump_errno2host (errno);
written += done;
}
@@ -405,7 +399,6 @@ rumpdisk_device_read (void *d, mach_port_t reply_port,
if (err < 0)
{
err = errno;
- *bytes_read = 0;
vm_deallocate (mach_task_self (), buf, npages * pagesize);
return rump_errno2host (err);
}