Index: uspace/app/mkmfs/mkmfs.c
===================================================================
--- uspace/app/mkmfs/mkmfs.c	(revision 36cb22f7989de9b9af7abf32cfcc1439f618fb10)
+++ uspace/app/mkmfs/mkmfs.c	(revision 5726a1a3d5d7272eca78b03dc4a088e723041df1)
@@ -84,5 +84,5 @@
 
 static void	help_cmd_mkmfs(help_level_t level);
-static int	num_of_set_bits(uint32_t n);
+static bool	is_power_of_two(uint32_t n);
 static int	init_superblock(struct mfs_sb_info *sb);
 static int	write_superblock(const struct mfs_sb_info *sbi);
@@ -172,5 +172,5 @@
 		printf(NAME ":Error! Invalid block size.\n");
 		exit(0);
-	} else if (num_of_set_bits(sb.block_size) != 1) {
+	} else if (!is_power_of_two(sb.block_size)) {
 		/*Block size must be a power of 2.*/
 		printf(NAME ":Error! Invalid block size.\n");
@@ -236,4 +236,5 @@
 
 	printf(NAME ": Creating Minix file system on device\n");
+	printf(NAME ": Writing superblock\n");
 
 	/*Initialize superblock*/
@@ -243,4 +244,6 @@
 	}
 
+	printf(NAME ": Initializing bitmaps\n");
+
 	/*Initialize bitmaps*/
 	if (init_bitmaps(&sb) != EOK) {
@@ -249,4 +252,6 @@
 	}
 
+	printf(NAME ": Initializing the inode table\n");
+
 	/*Init inode table*/
 	if (init_inode_table(&sb) != EOK) {
@@ -254,4 +259,6 @@
 		return 2;
 	}
+
+	printf(NAME ": Creating the root directory inode\n");
 
 	/*Make the root inode*/
@@ -720,9 +727,10 @@
 }
 
-static int num_of_set_bits(uint32_t n)
-{
-	n = n - ((n >> 1) & 0x55555555);
-	n = (n & 0x33333333) + ((n >> 2) & 0x33333333);
-	return (((n + (n >> 4)) & 0xF0F0F0F) * 0x1010101) >> 24;
+static bool is_power_of_two(uint32_t n)
+{
+	if (n == 0)
+		return false;
+
+	return (n & (n - 1)) == 0;
 }
 
