Index: uspace/srv/fs/exfat/exfat_fat.c
===================================================================
--- uspace/srv/fs/exfat/exfat_fat.c	(revision 75513701e805fb646fc15da4c37a297032e86822)
+++ uspace/srv/fs/exfat/exfat_fat.c	(revision e8976b59250a41d9219a32c7e85f15af96494596)
@@ -498,4 +498,30 @@
 }
 
+int
+exfat_read_uctable(exfat_bs_t *bs, exfat_node_t *nodep, uint8_t *uctable)
+{
+	size_t i, blocks, count;
+	block_t *b;
+	int rc;
+	blocks = ROUND_UP(nodep->size, BPS(bs))/BPS(bs);
+	count = BPS(bs);
+	
+	for (i = 0; i < blocks; i++) {
+		rc = exfat_block_get(&b, bs, nodep, i, BLOCK_FLAGS_NOREAD);
+		if (rc != EOK)
+			return rc;
+		if (i == blocks-1)
+			count = nodep->size - i*BPS(bs);
+		memcpy(uctable, b->data, count);
+		uctable += count;
+		rc = block_put(b);
+		if (rc != EOK)
+			return rc;
+	}
+
+	return EOK;
+}
+
+
 /** Perform basic sanity checks on the file system.
  *
Index: uspace/srv/fs/exfat/exfat_fat.h
===================================================================
--- uspace/srv/fs/exfat/exfat_fat.h	(revision 75513701e805fb646fc15da4c37a297032e86822)
+++ uspace/srv/fs/exfat/exfat_fat.h	(revision e8976b59250a41d9219a32c7e85f15af96494596)
@@ -86,4 +86,7 @@
     exfat_cluster_t mcl);
 
+extern int exfat_read_uctable(struct exfat_bs *bs, struct exfat_node *nodep, 
+    uint8_t *uctable);
+
 #endif
 
