Hi, I have tested it locally I am also getting same error but not consistently. I have put some debug logs for debugging, as per the logs it seems that block_group is not getting initialized properly. I am not sure weather this is because of my patch. Need to debug more. commands : ========= [root@cli02-ws Desktop]# dd if=/dev/zero of=/mnt/test bs=1024 count=100000 [root@cli02-ws Desktop]# losetup /dev/loop4 /mnt/test [root@cli02-ws Desktop]# mkfs.ext2 /mnt/test [root@cli02-ws Desktop]# mount -t ext2 -o loop /mnt/test /mnt/test_ext4 [root@cli02-ws Desktop]# cd /mnt/test_ext4/ [root@cli02-ws test_ext4]# mkdir 1 mkdir: cannot create directory `1': Input/output error [root@cli02-ws test_ext4]# mkdir 2 [root@cli02-ws test_ext4]# mkdir 3 mkdir: cannot create directory `3': Input/output error [root@cli02-ws test_ext4]# mkdir 4 debug_logs : ========= [root@cli02-ws Desktop]# tail -f /var/log/messages 2>&1 | tee faillog Mar 3 13:13:27 cli02-ws kernel: [ 228.167307] EXT4-fs (loop0): mounting ext2 file system using the ext4 subsystem Mar 3 13:13:27 cli02-ws kernel: [ 228.169634] EXT4-fs (loop0): mounted filesystem without journal. Opts: (null) Mar 3 13:13:42 cli02-ws kernel: [ 243.506280] max_blocks_per_group : 7949 Mar 3 13:13:42 cli02-ws kernel: [ 243.506285] stats.free_clusters : 7949 Mar 3 13:13:42 cli02-ws kernel: [ 243.506287] inodes_per_group*f : 1928 Mar 3 13:13:42 cli02-ws kernel: [ 243.506290] stats.free_inodes : 1928 Mar 3 13:13:42 cli02-ws kernel: [ 243.506292] block_group :2103884794 <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< Mar 3 13:13:42 cli02-ws kernel: [ 243.506295] group_count : 13 Mar 3 13:13:42 cli02-ws kernel: [ 243.506298] EXT4-fs error (device loop0): ext4_get_group_desc:291: comm mkdir: block_group >= groups_count - block_group = 2103884794, groups_count = 13 Mar 3 13:14:09 cli02-ws kernel: [ 270.809734] max_blocks_per_group : 7949 Mar 3 13:14:09 cli02-ws kernel: [ 270.809739] stats.free_clusters : 1452 Mar 3 13:14:09 cli02-ws kernel: [ 270.809742] inodes_per_group*f : 1928 Mar 3 13:14:09 cli02-ws kernel: [ 270.809744] stats.free_inodes : 1928 Mar 3 13:14:09 cli02-ws kernel: [ 270.809747] max_blocks_per_group : 7949 Mar 3 13:14:09 cli02-ws kernel: [ 270.809750] stats.free_clusters : 7677 Mar 3 13:14:09 cli02-ws kernel: [ 270.809752] inodes_per_group*f : 1928 Mar 3 13:14:09 cli02-ws kernel: [ 270.809755] stats.free_inodes : 1917 Mar 3 13:14:09 cli02-ws kernel: [ 270.809757] max_blocks_per_group : 7949 Mar 3 13:14:09 cli02-ws kernel: [ 270.809760] stats.free_clusters : 7691 Mar 3 13:14:09 cli02-ws kernel: [ 270.809762] inodes_per_group*f : 1928 Mar 3 13:14:09 cli02-ws kernel: [ 270.809765] stats.free_inodes : 1928 Mar 3 13:14:09 cli02-ws kernel: [ 270.809767] max_blocks_per_group : 7949 Mar 3 13:14:09 cli02-ws kernel: [ 270.809770] stats.free_clusters : 7949 Mar 3 13:14:09 cli02-ws kernel: [ 270.809772] inodes_per_group*f : 1928 Mar 3 13:14:09 cli02-ws kernel: [ 270.809775] stats.free_inodes : 1928 Mar 3 13:14:38 cli02-ws kernel: [ 299.081995] max_blocks_per_group : 7949 Mar 3 13:14:38 cli02-ws kernel: [ 299.082038] stats.free_clusters : 7949 Mar 3 13:14:38 cli02-ws kernel: [ 299.082040] inodes_per_group*f : 1928 Mar 3 13:14:38 cli02-ws kernel: [ 299.082042] stats.free_inodes : 1928 Mar 3 13:14:38 cli02-ws kernel: [ 299.082045] block_group :1066167208<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< Mar 3 13:14:38 cli02-ws kernel: [ 299.082048] group_count : 13 Mar 3 13:14:38 cli02-ws kernel: [ 299.082051] EXT4-fs error (device loop0): ext4_get_group_desc:291: comm mkdir: block_group >= groups_count - block_group = 1066167208, groups_count = 13 Mar 3 13:14:48 cli02-ws kernel: [ 309.138432] max_blocks_per_group : 7949 Mar 3 13:14:48 cli02-ws kernel: [ 309.138436] stats.free_clusters : 7949 Mar 3 13:14:48 cli02-ws kernel: [ 309.138439] inodes_per_group*f : 1928 Mar 3 13:14:48 cli02-ws kernel: [ 309.138452] stats.free_inodes : 1928 Regards, Lokesh On Thu, Mar 3, 2016 at 5:58 AM, Ross Zwisler <ross.zwisler@xxxxxxxxxxxxxxx> wrote: > On Wed, Mar 02, 2016 at 02:43:04PM +0800, Xiong Zhou wrote: >> Hi, >> >> mkdir failed IO error on pmem DAX ext2/3 fs mount using ext4 module. >> >> This happends only on -next tree, not on Linus' tree, >> at least from 4.5.0-rc5-next-20160224. > > I was able to reproduce this and bisect it to the following commit: > > commit 1f2d779fed21 ("ext4: optimize group search for inode allocation") > > The fact that DAX was enabled in this failure was a red herring - it fails > without DAX as well. The key is just that we're mounting an ext2 formatted > filesystem using the ext4 module, I think. > > - Ross -- To unsubscribe from this list: send the line "unsubscribe linux-next" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html