Index: uspace/lib/ext4/libext4_directory.c
===================================================================
--- uspace/lib/ext4/libext4_directory.c	(revision 565b6ff5e7b40ab69b0de6f22593c0abc75ab10c)
+++ uspace/lib/ext4/libext4_directory.c	(revision 50601ef46cc62a072e6f33094b32ee93f6581a0c)
@@ -313,5 +313,4 @@
 
 	// Linear algorithm
-	uint16_t required_len = 8 + name_len + (4 - name_len % 4);
 
 	ext4_directory_iterator_t it;
@@ -322,4 +321,5 @@
 
 	uint32_t block_size = ext4_superblock_get_block_size(fs->superblock);
+	uint16_t required_len = 8 + name_len + (4 - name_len % 4);
 
 	while (it.current != NULL) {
@@ -328,5 +328,4 @@
 
 		if ((entry_inode == 0) && (rec_len >= required_len)) {
-
 
 			ext4_directory_write_entry(fs->superblock, it.current, rec_len,
@@ -349,12 +348,11 @@
 
 			if (free_space >= required_len) {
-				uint16_t used_len = rec_len - free_space;
 
 				// Cut tail of current entry
-				ext4_directory_entry_ll_set_entry_length(it.current, used_len);
+				ext4_directory_entry_ll_set_entry_length(it.current, used_space);
 
 				// SEEK manually
 				uint32_t local_offset = (it.current_offset % block_size);
-				local_offset += used_len;
+				local_offset += used_space;
 				ext4_directory_entry_ll_t *new_entry = it.current_block->data + local_offset;
 
@@ -375,4 +373,6 @@
 		}
 	}
+
+	EXT4FS_DBG("NO FREE SPACE - needed to allocate block");
 
 	// Save position and destroy iterator
