Index: uspace/lib/bithenge/blob.c
===================================================================
--- uspace/lib/bithenge/blob.c	(revision 3a7356dc00f6c8a7d85df4545490283e76be8226)
+++ uspace/lib/bithenge/blob.c	(revision 5e514c04ed7eb8e5f96e666ab752bb67cf5aaa23)
@@ -461,8 +461,9 @@
 /** Check whether the contents of two blobs are equal.
  * @memberof bithenge_blob_t
+ * @param[out] out Holds whether the blobs are equal.
  * @param a, b Blobs to compare.
- * @return Whether the blobs are equal. If an error occurs, returns false.
- */
-bool bithenge_blob_equal(bithenge_blob_t *a, bithenge_blob_t *b)
+ * @return EOK on success, or an error code from errno.h.
+ */
+int bithenge_blob_equal(bool *out, bithenge_blob_t *a, bithenge_blob_t *b)
 {
 	assert(a);
@@ -476,13 +477,16 @@
 		rc = bithenge_blob_read(a, offset, buffer_a, &size_a);
 		if (rc != EOK)
-			return false;
+			return rc;
 		rc = bithenge_blob_read(b, offset, buffer_b, &size_b);
 		if (rc != EOK)
-			return false;
-		if (size_a != size_b || bcmp(buffer_a, buffer_b, size_a))
-			return false;
+			return rc;
+		if (size_a != size_b || bcmp(buffer_a, buffer_b, size_a)) {
+			*out = false;
+			return EOK;
+		}
 		offset += size_a;
 	} while (size_a == sizeof(buffer_a));
-	return true;
+	*out = true;
+	return EOK;
 }
 
