Index: uspace/lib/block/block.c
===================================================================
--- uspace/lib/block/block.c	(revision f9b2cb4cf365498e1fe141b1aa66950fbc3dcb17)
+++ uspace/lib/block/block.c	(revision ff381a79ad697b23cc01e3f8a66966d2d2cbd7dc)
@@ -788,4 +788,22 @@
 }
 
+/** Synchronize blocks to persistent storage.
+ *
+ * @param service_id	Service ID of the block device.
+ * @param ba		Address of first block (physical).
+ * @param cnt		Number of blocks.
+ *
+ * @return		EOK on success or negative error code on failure.
+ */
+int block_sync_cache(service_id_t service_id, aoff64_t ba, size_t cnt)
+{
+	devcon_t *devcon;
+
+	devcon = devcon_search(service_id);
+	assert(devcon);
+
+	return bd_sync_cache(devcon->bd, ba, cnt);
+}
+
 /** Get device block size.
  *
Index: uspace/lib/block/block.h
===================================================================
--- uspace/lib/block/block.h	(revision f9b2cb4cf365498e1fe141b1aa66950fbc3dcb17)
+++ uspace/lib/block/block.h	(revision ff381a79ad697b23cc01e3f8a66966d2d2cbd7dc)
@@ -120,4 +120,5 @@
 extern int block_read_bytes_direct(service_id_t, aoff64_t, size_t, void *);
 extern int block_write_direct(service_id_t, aoff64_t, size_t, const void *);
+extern int block_sync_cache(service_id_t, aoff64_t, size_t);
 
 #endif
