Index: uspace/srv/bd/file_bd/file_bd.c
===================================================================
--- uspace/srv/bd/file_bd/file_bd.c	(revision c77a64ff173c6b97e1f85ac22e9fe1760cb720cc)
+++ uspace/srv/bd/file_bd/file_bd.c	(revision 6c017023ebfaf5820d1a7aaa61128c5fc053fe88)
@@ -205,9 +205,15 @@
 {
 	size_t n_rd;
+	int rc;
 
 	fibril_mutex_lock(&dev_lock);
 
 	clearerr(img);
-	fseek(img, ba * block_size, SEEK_SET);
+	rc = fseek(img, ba * block_size, SEEK_SET);
+	if (rc < 0) {
+		fibril_mutex_unlock(&dev_lock);
+		return EIO;
+	}
+
 	n_rd = fread(buf, block_size, cnt, img);
 
@@ -229,9 +235,15 @@
 {
 	size_t n_wr;
+	int rc;
 
 	fibril_mutex_lock(&dev_lock);
 
 	clearerr(img);
-	fseek(img, ba * block_size, SEEK_SET);
+	rc = fseek(img, ba * block_size, SEEK_SET);
+	if (rc < 0) {
+		fibril_mutex_unlock(&dev_lock);
+		return EIO;
+	}
+
 	n_wr = fwrite(buf, block_size, cnt, img);
 
@@ -239,4 +251,9 @@
 		fibril_mutex_unlock(&dev_lock);
 		return EIO;	/* Write error */
+	}
+
+	if (fflush(img) != 0) {
+		fibril_mutex_unlock(&dev_lock);
+		return EIO;
 	}
 
