Index: uspace/lib/ext4/libext4_filesystem.c
===================================================================
--- uspace/lib/ext4/libext4_filesystem.c	(revision 121e7adf180b762ead5d4e4b769533a9ef4d72a1)
+++ uspace/lib/ext4/libext4_filesystem.c	(revision 2d2c6cef8ca048eefec9f50dd0b90ab2e1b8ce1e)
@@ -283,4 +283,40 @@
 }
 
+int ext4_filesystem_alloc_inode(ext4_filesystem_t *fs, ext4_inode_ref_t **inode_ref)
+{
+	// TODO
+	return EOK;
+}
+
+int ext4_filesystem_init_inode(ext4_filesystem_t *fs, ext4_inode_ref_t *inode_ref, int flags)
+{
+	ext4_inode_t *inode = inode_ref->inode;
+
+	if (flags & L_DIRECTORY) {
+		ext4_inode_set_mode(fs->superblock, inode, EXT4_INODE_MODE_DIRECTORY);
+		ext4_inode_set_links_count(inode, 1); // '.' entry
+	} else {
+		ext4_inode_set_mode(fs->superblock, inode, EXT4_INODE_MODE_FILE);
+		ext4_inode_set_links_count(inode, 0);
+	}
+
+	ext4_inode_set_uid(inode, 0);
+	ext4_inode_set_gid(inode, 0);
+	ext4_inode_set_size(inode, 0);
+	ext4_inode_set_access_time(inode, 0);
+	ext4_inode_set_change_inode_time(inode, 0);
+	ext4_inode_set_modification_time(inode, 0);
+	ext4_inode_set_deletion_time(inode, 0);
+	ext4_inode_set_blocks_count(fs->superblock, inode, 0);
+	ext4_inode_set_flags(inode, 0);
+	ext4_inode_set_generation(inode, 0);
+
+	for (uint32_t i = 0; i < EXT4_INODE_BLOCKS; i++) {
+		inode->blocks[i] = 0;
+	}
+
+	return EOK;
+}
+
 int ext4_filesystem_free_inode(ext4_filesystem_t *fs, ext4_inode_ref_t *inode_ref)
 {
Index: uspace/lib/ext4/libext4_filesystem.h
===================================================================
--- uspace/lib/ext4/libext4_filesystem.h	(revision 121e7adf180b762ead5d4e4b769533a9ef4d72a1)
+++ uspace/lib/ext4/libext4_filesystem.h	(revision 2d2c6cef8ca048eefec9f50dd0b90ab2e1b8ce1e)
@@ -61,4 +61,6 @@
 		ext4_inode_ref_t **);
 extern int ext4_filesystem_put_inode_ref(ext4_inode_ref_t *);
+extern int ext4_filesystem_alloc_inode(ext4_filesystem_t *, ext4_inode_ref_t **);
+extern int ext4_filesystem_init_inode(ext4_filesystem_t *, ext4_inode_ref_t *, int);
 extern int ext4_filesystem_free_inode(ext4_filesystem_t *, ext4_inode_ref_t *);
 extern int ext4_filesystem_truncate_inode(ext4_filesystem_t *,
