Index: uspace/app/taskdump/elf_core.c
===================================================================
--- uspace/app/taskdump/elf_core.c	(revision 7354b5e275cfd7f15773c38db318e1fa938eab6e)
+++ uspace/app/taskdump/elf_core.c	(revision 82d515e917f3eeeff253e4aa30e493f5f632c950)
@@ -97,5 +97,6 @@
 
 	int fd;
-	ssize_t rc;
+	int rc;
+	size_t nwr;
 	unsigned int i;
 
@@ -206,6 +207,6 @@
 	}
 
-	rc = vfs_write(fd, &pos, &elf_hdr, sizeof(elf_hdr));
-	if (rc != sizeof(elf_hdr)) {
+	rc = vfs_write(fd, &pos, &elf_hdr, sizeof(elf_hdr), &nwr);
+	if (rc != EOK) {
 		printf("Failed writing ELF header.\n");
 		free(p_hdr);
@@ -214,6 +215,6 @@
 
 	for (i = 0; i < n_ph; ++i) {
-		rc = vfs_write(fd, &pos, &p_hdr[i], sizeof(p_hdr[i]));
-		if (rc != sizeof(p_hdr[i])) {
+		rc = vfs_write(fd, &pos, &p_hdr[i], sizeof(p_hdr[i]), &nwr);
+		if (rc != EOK) {
 			printf("Failed writing program header.\n");
 			free(p_hdr);
@@ -231,6 +232,6 @@
 	note.type = NT_PRSTATUS;
 
-	rc = vfs_write(fd, &pos, &note, sizeof(elf_note_t));
-	if (rc != sizeof(elf_note_t)) {
+	rc = vfs_write(fd, &pos, &note, sizeof(elf_note_t), &nwr);
+	if (rc != EOK) {
 		printf("Failed writing note header.\n");
 		free(p_hdr);
@@ -238,6 +239,6 @@
 	}
 
-	rc = vfs_write(fd, &pos, "CORE", note.namesz);
-	if (rc != (ssize_t) note.namesz) {
+	rc = vfs_write(fd, &pos, "CORE", note.namesz, &nwr);
+	if (rc != EOK) {
 		printf("Failed writing note header.\n");
 		free(p_hdr);
@@ -247,6 +248,6 @@
 	pos = ALIGN_UP(pos, word_size);
 
-	rc = vfs_write(fd, &pos, &pr_status, sizeof(elf_prstatus_t));
-	if (rc != sizeof(elf_prstatus_t)) {
+	rc = vfs_write(fd, &pos, &pr_status, sizeof(elf_prstatus_t), &nwr);
+	if (rc != EOK) {
 		printf("Failed writing register data.\n");
 		free(p_hdr);
@@ -296,5 +297,6 @@
 	size_t total;
 	uintptr_t addr;
-	ssize_t rc;
+	int rc;
+	size_t nwr;
 
 	addr = area->start_addr;
@@ -309,6 +311,6 @@
 		}
 
-		rc = vfs_write(fd, pos, buffer, to_copy);
-		if (rc != (ssize_t) to_copy) {
+		rc = vfs_write(fd, pos, buffer, to_copy, &nwr);
+		if (rc != EOK) {
 			printf("Failed writing memory contents.\n");
 			return EIO;
Index: uspace/app/taskdump/symtab.c
===================================================================
--- uspace/app/taskdump/symtab.c	(revision 7354b5e275cfd7f15773c38db318e1fa938eab6e)
+++ uspace/app/taskdump/symtab.c	(revision 82d515e917f3eeeff253e4aa30e493f5f632c950)
@@ -71,4 +71,5 @@
 	int fd;
 	int rc;
+	size_t nread;
 	int i;
 
@@ -88,6 +89,6 @@
 	}
 
-	rc = vfs_read(fd, &pos, &elf_hdr, sizeof(elf_header_t));
-	if (rc != sizeof(elf_header_t)) {
+	rc = vfs_read(fd, &pos, &elf_hdr, sizeof(elf_header_t), &nread);
+	if (rc != EOK || nread != sizeof(elf_header_t)) {
 		printf("failed reading elf header\n");
 		free(stab);
@@ -304,8 +305,9 @@
 {
 	int rc;
+	size_t nread;
 	aoff64_t pos = elf_hdr->e_shoff + idx * sizeof(elf_section_header_t);
 
-	rc = vfs_read(fd, &pos, sec_hdr, sizeof(elf_section_header_t));
-	if (rc != sizeof(elf_section_header_t))
+	rc = vfs_read(fd, &pos, sec_hdr, sizeof(elf_section_header_t), &nread);
+	if (rc != EOK || nread != sizeof(elf_section_header_t))
 		return EIO;
 
@@ -326,5 +328,6 @@
 static int chunk_load(int fd, off64_t start, size_t size, void **ptr)
 {
-	ssize_t rc;
+	int rc;
+	size_t nread;
 	aoff64_t pos = start;
 
@@ -335,6 +338,6 @@
 	}
 
-	rc = vfs_read(fd, &pos, *ptr, size);
-	if (rc != (ssize_t) size) {
+	rc = vfs_read(fd, &pos, *ptr, size, &nread);
+	if (rc != EOK || nread != size) {
 		printf("failed reading chunk\n");
 		free(*ptr);
