Index: uspace/srv/fs/exfat/exfat_fat.c
===================================================================
--- uspace/srv/fs/exfat/exfat_fat.c	(revision a18bd224ae0d27a7e7e40bbb53f7f54f8bd5a580)
+++ uspace/srv/fs/exfat/exfat_fat.c	(revision 245b79455455bd6be1ecddadaa63eeebd2661152)
@@ -483,11 +483,52 @@
 }
 
+int bitmap_set_cluster(exfat_bs_t *bs, devmap_handle_t devmap_handle, 
+    exfat_cluster_t firstc)
+{
+	/* TODO */
+	return EOK;
+}
+
+int bitmap_clear_cluster(exfat_bs_t *bs, devmap_handle_t devmap_handle, 
+    exfat_cluster_t firstc)
+{
+	/* TODO */
+	return EOK;
+}
+
 int bitmap_set_clusters(exfat_bs_t *bs, devmap_handle_t devmap_handle, 
     exfat_cluster_t firstc, exfat_cluster_t count)
 {
-	/* TODO */
-	return EOK;
-}
-
+	int rc;
+	exfat_cluster_t clst;
+	clst = firstc;
+
+	while (clst < firstc+count ) {
+		rc = bitmap_set_cluster(bs, devmap_handle, clst);
+		if (rc != EOK) {
+			if ((clst-firstc) > 0)
+				(void) bitmap_clear_clusters(bs, devmap_handle, firstc, clst-firstc);
+			return rc;
+		}
+		clst++;
+	}
+	return EOK;
+}
+
+int bitmap_clear_clusters(exfat_bs_t *bs, devmap_handle_t devmap_handle, 
+    exfat_cluster_t firstc, exfat_cluster_t count)
+{
+	int rc;
+	exfat_cluster_t clst;
+	clst = firstc;
+
+	while (clst < firstc+count ) {
+		rc = bitmap_clear_cluster(bs, devmap_handle, clst);
+		if (rc != EOK)
+			return rc;
+		clst++;
+	}
+	return EOK;
+}
 
 int bitmap_alloc_clusters(exfat_bs_t *bs, devmap_handle_t devmap_handle, 
@@ -544,6 +585,9 @@
     exfat_cluster_t count)
 {
-	/* TODO */
-	return EOK;
+	exfat_cluster_t lastc;
+	lastc = nodep->firstc + ROUND_UP(nodep->size, BPC(bs)) / BPC(bs) - 1;
+	lastc -= count;
+
+	return bitmap_clear_clusters(bs, nodep->idx->devmap_handle, lastc+1, count);
 }
 
Index: uspace/srv/fs/exfat/exfat_fat.h
===================================================================
--- uspace/srv/fs/exfat/exfat_fat.h	(revision a18bd224ae0d27a7e7e40bbb53f7f54f8bd5a580)
+++ uspace/srv/fs/exfat/exfat_fat.h	(revision 245b79455455bd6be1ecddadaa63eeebd2661152)
@@ -86,5 +86,11 @@
 extern int bitmap_is_free(struct exfat_bs *bs, devmap_handle_t devmap_handle, 
     exfat_cluster_t clst);
+extern int bitmap_set_cluster(struct exfat_bs *bs, devmap_handle_t devmap_handle, 
+    exfat_cluster_t firstc);
+extern int bitmap_clear_cluster(struct exfat_bs *bs, devmap_handle_t devmap_handle, 
+    exfat_cluster_t firstc);
 extern int bitmap_set_clusters(struct exfat_bs *bs, devmap_handle_t devmap_handle, 
+    exfat_cluster_t firstc, exfat_cluster_t count);
+extern int bitmap_clear_clusters(struct exfat_bs *bs, devmap_handle_t devmap_handle, 
     exfat_cluster_t firstc, exfat_cluster_t count);
 
