Index: uspace/app/mkexfat/mkexfat.c
===================================================================
--- uspace/app/mkexfat/mkexfat.c	(revision a69e3961957dc521f07d9576bdb1ab2d90d3b50a)
+++ uspace/app/mkexfat/mkexfat.c	(revision 7f381e58c37401298bbf10c5facec590320e02a3)
@@ -178,4 +178,8 @@
 	printf(NAME ": Data start sector:     %lu\n", cfg->data_start_sector);
 	printf(NAME ": Total num of clusters: %lu\n", cfg->total_clusters);
+	printf(NAME ": Bitmap size:           %lu\n",
+	    div_round_up(cfg->bitmap_size, cfg->cluster_size));
+	printf(NAME ": Upcase table size:     %lu\n",
+	    div_round_up(sizeof(upcase_table), cfg->cluster_size));
 }
 
@@ -320,5 +324,5 @@
 }
 
-/** Writes the FAT on disk.
+/** Initialize the FAT table.
  *
  * @param service_id  The service id.
@@ -327,5 +331,5 @@
  */
 static int
-fat_write(service_id_t service_id, exfat_cfg_t *cfg)
+fat_initialize(service_id_t service_id, exfat_cfg_t *cfg)
 {
 	unsigned long i;
@@ -340,16 +344,9 @@
 	pfat[1] = host2uint32_t_le(0xFFFFFFFF);
 
-	/* Allocate clusters for the bitmap, upcase table
-	 * and the root directory.
-	 */
-	pfat[2] = host2uint32_t_le(0xFFFFFFFF);
-	pfat[3] = host2uint32_t_le(0xFFFFFFFF);
-	pfat[4] = host2uint32_t_le(0xFFFFFFFF);
-
 	rc = block_write_direct(service_id, FAT_SECTOR_START, 1, pfat);
 	if (rc != EOK)
 		goto error;
 
-	memset(pfat, 0, 5 * sizeof(uint32_t));
+	memset(pfat, 0, 2 * sizeof(uint32_t));
 
 	for (i = 1; i < cfg->fat_sector_count; ++i) {
@@ -522,5 +519,5 @@
 	}
 
-	rc = fat_write(service_id, &cfg);
+	rc = fat_initialize(service_id, &cfg);
 	if (rc != EOK) {
 		printf(NAME ": Error, failed to write the FAT to disk\n");
