Index: uspace/app/mkext4/mkext4.c
===================================================================
--- uspace/app/mkext4/mkext4.c	(revision 4d7bf352f77a3da756d2e830599a9dab7108b870)
+++ uspace/app/mkext4/mkext4.c	(revision 91fcbabcd33526a02f89ea5b6a4bcaf487965b5c)
@@ -56,4 +56,5 @@
 	aoff64_t nblocks;
 	const char *label = "";
+	unsigned int bsize = 1024;
 
 	cfg.version = ext4_def_fs_version;
@@ -79,4 +80,25 @@
 
 			nblocks = strtol(*argv, &endptr, 10);
+			if (*endptr != '\0') {
+				printf(NAME ": Error, invalid argument.\n");
+				syntax_print();
+				return 1;
+			}
+
+			--argc;
+			++argv;
+			continue;
+		}
+
+		if (str_cmp(*argv, "--bsize") == 0) {
+			--argc;
+			++argv;
+			if (*argv == NULL) {
+				printf(NAME ": Error, argument missing.\n");
+				syntax_print();
+				return 1;
+			}
+
+			bsize = strtol(*argv, &endptr, 10);
 			if (*endptr != '\0') {
 				printf(NAME ": Error, invalid argument.\n");
@@ -159,5 +181,5 @@
 
 	cfg.volume_name = label;
-	cfg.bsize = 4096;
+	cfg.bsize = bsize;
 	(void) nblocks;
 
@@ -179,5 +201,6 @@
 	    "\t--size <sectors> Filesystem size, overrides device size\n"
 	    "\t--label <label>  Volume label\n"
-	    "\t--type <fstype>  Filesystem type (ext2, ext2old)\n");
+	    "\t--type <fstype>  Filesystem type (ext2, ext2old)\n"
+	    "\t--bsize <bytes>  Filesystem block size in bytes (default = 1024)\n");
 }
 
