Index: uspace/srv/fs/exfat/exfat_ops.c
===================================================================
--- uspace/srv/fs/exfat/exfat_ops.c	(revision c56c45760d4350fae5a2a6a8f6cf12ce8cb4ba62)
+++ uspace/srv/fs/exfat/exfat_ops.c	(revision 7234617338498dd73be89a2f23726367a7cdfc3c)
@@ -925,4 +925,5 @@
 
 /* Print debug info */
+/*
 static void exfat_fsinfo(exfat_bs_t *bs, devmap_handle_t devmap_handle)
 {
@@ -941,7 +942,4 @@
 	printf("KBytes per cluster: %d\n", SPC(bs)*BPS(bs)/1024);
 
-	/* bitmap_set_cluster(bs, devmap_handle, 9); */
-	/* bitmap_clear_cluster(bs, devmap_handle, 9); */
-
 	int i, rc;
 	exfat_cluster_t clst;
@@ -957,5 +955,6 @@
 	}
 }
-
+*/
+ 
 static int
 exfat_mounted(devmap_handle_t devmap_handle, const char *opts, fs_index_t *index,
@@ -1134,6 +1133,5 @@
 	}
 
-	exfat_fsinfo(bs, devmap_handle);
-	printf("Root dir size: %lld\n", rootp->size);
+	/* exfat_fsinfo(bs, devmap_handle); */
 
 	*index = rootp->idx->index;
Index: uspace/srv/fs/fat/fat_dentry.c
===================================================================
--- uspace/srv/fs/fat/fat_dentry.c	(revision c56c45760d4350fae5a2a6a8f6cf12ce8cb4ba62)
+++ uspace/srv/fs/fat/fat_dentry.c	(revision 7234617338498dd73be89a2f23726367a7cdfc3c)
@@ -266,45 +266,56 @@
 }
 
-size_t fat_lfn_get_part(const uint16_t *src, size_t src_size, uint16_t *dst, size_t *offset)
-{
-	while (src_size!=0 && (*offset)!=0) {
-		src_size--;
-		if (src[src_size] == 0 || src[src_size] == FAT_LFN_PAD)
+size_t fat_lfn_get_entry(const fat_dentry_t *d, uint16_t *dst, size_t *offset)
+{
+	int i;
+	for (i=1; i>=0 && *offset>0; i--) {
+		if (d->lfn.part3[i] == 0 || d->lfn.part3[i] == FAT_LFN_PAD)
 			continue;
-
 		(*offset)--;
-		dst[(*offset)] = uint16_t_le2host(src[src_size]);
-	}
-	return (*offset);
-}
-
-size_t fat_lfn_get_entry(const fat_dentry_t *d, uint16_t *dst, size_t *offset)
-{
-	fat_lfn_get_part(FAT_LFN_PART3(d), FAT_LFN_PART3_SIZE, dst, offset);
-	fat_lfn_get_part(FAT_LFN_PART2(d), FAT_LFN_PART2_SIZE, dst, offset);
-	fat_lfn_get_part(FAT_LFN_PART1(d), FAT_LFN_PART1_SIZE, dst, offset);
-
+		dst[(*offset)] = uint16_t_le2host(d->lfn.part3[i]);
+	}
+	for (i=5; i>=0 && *offset>0; i--) {
+		if (d->lfn.part2[i] == 0 || d->lfn.part2[i] == FAT_LFN_PAD)
+			continue;
+		(*offset)--;
+		dst[(*offset)] = uint16_t_le2host(d->lfn.part2[i]);
+	}
+	for (i=4; i>=0 && *offset>0; i--) {
+		if (d->lfn.part1[i] == 0 || d->lfn.part1[i] == FAT_LFN_PAD)
+			continue;
+		(*offset)--;
+		dst[(*offset)] = uint16_t_le2host(d->lfn.part1[i]);
+	}
 	return *offset;
 }
 
-size_t fat_lfn_set_part(const uint16_t *src, size_t *offset, size_t src_size, uint16_t *dst, size_t dst_size)
+size_t fat_lfn_set_entry(const uint16_t *src, size_t *offset, size_t size, fat_dentry_t *d)
 {
 	size_t idx;
-	for (idx=0; idx < dst_size; idx++) {
-		if (*offset < src_size) {
-			dst[idx] = uint16_t_le2host(src[*offset]);
+	for (idx=0; idx < 5; idx++) {
+		if (*offset < size) {
+			d->lfn.part1[idx] = host2uint16_t_le(src[*offset]);
 			(*offset)++;
 		}
 		else
-			dst[idx] = FAT_LFN_PAD;
-	}
-	return *offset;
-}
-
-size_t fat_lfn_set_entry(const uint16_t *src, size_t *offset, size_t size, fat_dentry_t *d)
-{
-	fat_lfn_set_part(src, offset, size, FAT_LFN_PART1(d), FAT_LFN_PART1_SIZE);
-	fat_lfn_set_part(src, offset, size, FAT_LFN_PART2(d), FAT_LFN_PART2_SIZE);
-	fat_lfn_set_part(src, offset, size, FAT_LFN_PART3(d), FAT_LFN_PART3_SIZE);
+			d->lfn.part1[idx] = FAT_LFN_PAD;
+	}
+	for (idx=0; idx < 6; idx++) {
+		if (*offset < size) {
+			d->lfn.part2[idx] = host2uint16_t_le(src[*offset]);
+			(*offset)++;
+		}
+		else
+			d->lfn.part2[idx] = FAT_LFN_PAD;
+	}
+	for (idx=0; idx < 2; idx++) {
+		if (*offset < size) {
+			d->lfn.part3[idx] = host2uint16_t_le(src[*offset]);
+			(*offset)++;
+		}
+		else
+			d->lfn.part3[idx] = FAT_LFN_PAD;
+	}
+
 	if (src[*offset] == 0)
 		offset++;
Index: uspace/srv/fs/fat/fat_dentry.h
===================================================================
--- uspace/srv/fs/fat/fat_dentry.h	(revision c56c45760d4350fae5a2a6a8f6cf12ce8cb4ba62)
+++ uspace/srv/fs/fat/fat_dentry.h	(revision 7234617338498dd73be89a2f23726367a7cdfc3c)
@@ -143,7 +143,5 @@
 extern size_t fat_lfn_str_nlength(const uint16_t *, size_t);
 extern size_t fat_lfn_size(const fat_dentry_t *);
-extern size_t fat_lfn_get_part(const uint16_t *, size_t, uint16_t *, size_t *);
 extern size_t fat_lfn_get_entry(const fat_dentry_t *, uint16_t *, size_t *);
-extern size_t fat_lfn_set_part(const uint16_t *, size_t *, size_t, uint16_t *, size_t);
 extern size_t fat_lfn_set_entry(const uint16_t *, size_t *, size_t, fat_dentry_t *);
 
