Index: uspace/app/mkminix/mkminix.c
===================================================================
--- uspace/app/mkminix/mkminix.c	(revision cfff7a8f9c6f87a1472c2f5fe87969a9cbb1b26e)
+++ uspace/app/mkminix/mkminix.c	(revision fcce9e1f81f25f5c81d9ee604b776b14ce57c5af)
@@ -57,5 +57,5 @@
 
 #define UPPER(n, size) 			(((n) / (size)) + (((n) % (size)) != 0))
-#define NEXT_DENTRY(p, dirsize)		(p += dirsize)
+#define NEXT_DENTRY(p, dirsize)		(p += (dirsize))
 
 typedef enum {
@@ -161,4 +161,5 @@
 			sb.block_size = MFS_MAX_BLOCKSIZE;
 			sb.dirsize = MFS3_DIRSIZE;
+			sb.ino_per_block = V3_INODES_PER_BLOCK(sb.block_size);
 			break;
 		case 'b':
@@ -285,4 +286,5 @@
 {
 	void *root_block;
+	uint8_t *dentry_ptr;
 	int rc;
 	const long root_dblock = sb->first_data_zone;
@@ -293,4 +295,6 @@
 	if (!root_block)
 		return ENOMEM;
+
+	dentry_ptr = root_block;
 	
 	if (sb->fs_version != 3) {
@@ -301,5 +305,6 @@
 		memcpy(dentry->d_name, ".\0", 2);
 
-		NEXT_DENTRY(dentry, sb->dirsize);
+		dentry = (struct mfs_dentry *) NEXT_DENTRY(dentry_ptr,
+							sb->dirsize);
 
 		dentry->d_inum = MFS_ROOT_INO;
@@ -312,5 +317,6 @@
 		memcpy(dentry->d_name, ".\0", 2);
 
-		NEXT_DENTRY(dentry, sb->dirsize);
+		dentry = (struct mfs3_dentry *) NEXT_DENTRY(dentry_ptr,
+							sb->dirsize);
 
 		dentry->d_inum = MFS_ROOT_INO;
