When extracting a large .tar.gz file onto a mounted ext2fs filesystem - under 10.1-RELEASE you get a reproducible kernel panic (details below). The same set of operations on a FreeBSD 9.1-RELEASE system work correctly. To reproduce: - Install FreeBSD - Install 'e2fsutils' 'mke2fs' a new partition, and mount it (e.g. 'mount -t ext2fs /dev/ada1s4 /mnt') - extract a large tar file (20Gb) to this new partition. Under 9.1-R it finishes extraction. Under 10.1-R it fails after about the same amount of time, but in slightly different places with: " panic: binsfree: free buffer onto another queue??? cpuid =3 KDB: stack backtrace: #0 0xffffffff80963000 at kb_backtrace+0x60 #1 0xffffffff80928125 at panic+0x155 #2 0xffffffff809b18f7 at binsfree+0x327 #3 0xffffffff809afca0 at brelse+0x5f0 #4 0xffffffff81a19c34 at ext2_htree_add_entry+0x714 #5 0xffffffff81a1c1d4 at ext2_direnter+0xc4 #6 0xffffffff81a21d7d at ext2_makeinode+0x12d #7 0xffffffff80e41ca1 at VOP_CREATE_APV+0xa1 #8 0xffffffff809d66c8 at vn_open_cred+0x2a8 #9 0xffffffff809cfedf at kern_openat+0x26f #10 0xffffffff80d25851 at amd64_syscall+0x351 " I have a minidump (~470Mb) of this crash - so I can kgdb it to run off various bits (I can't publish as it likely has confidential data in the dump). Smaller tar files extract OK.
Hello; I assume you are using ext3. I think that this is yet another bug report related to dir_index implementation. As a workaround disable the dir_index extension using tune2fs utility.
A commit references this bug: Author: pfg Date: Fri Apr 17 22:26:04 UTC 2015 New revision: 281670 URL: https://svnweb.freebsd.org/changeset/base/281670 Log: Drop experimental dir_index support. The htree directory index is a highly desirable feature for research purposes and was meant to improve performance in our ext2/3 driver. Unfortunately our implementation has two problems: - It never really delivered any performance improvement. - It appears to corrupt the filesystem in undetermined circumstances. Strictly speaking dir_index is not required for read/write support in ext2/3 and our limited ext4 support still works fine without it. Regain stability in the ext2 driver by removing it. We may need it back (fixed) if we want to support encrypted ext4 support but thanks to the wonders of version control we can always revert this change and bring it back. PR: 191895 PR: 198731 PR: 199309 MFC after: 5 days Changes: head/sys/fs/ext2fs/ext2_dir.h head/sys/fs/ext2fs/ext2_extern.h head/sys/fs/ext2fs/ext2_hash.c head/sys/fs/ext2fs/ext2_htree.c head/sys/fs/ext2fs/ext2_lookup.c head/sys/fs/ext2fs/ext2_vfsops.c head/sys/fs/ext2fs/ext2fs.h head/sys/modules/ext2fs/Makefile
A commit references this bug: Author: pfg Date: Wed Apr 22 00:38:14 UTC 2015 New revision: 281841 URL: https://svnweb.freebsd.org/changeset/base/281841 Log: MFC r281670, r281703: Drop experimental ext2fs dir_index support. The htree directory index is a highly desirable feature for research purposes and was meant to improve performance in our ext2/3 driver. Unfortunately our implementation has two problems: - It never really delivered any performance improvement. - It appears to corrupt the filesystem in undetermined circumstances. Strictly speaking dir_index is not required for read/write support in ext2/3 and our limited ext4 support still works fine without it. Regain stability in the ext2 driver by removing it. We may need it back (fixed) if we want to support encrypted ext4 support but thanks to the wonders of version control we can always revert this change and bring it back. PR: 191895 PR: 198731 PR: 199309 Changes: _U stable/10/ stable/10/sys/conf/files stable/10/sys/fs/ext2fs/ext2_dir.h stable/10/sys/fs/ext2fs/ext2_extern.h stable/10/sys/fs/ext2fs/ext2_hash.c stable/10/sys/fs/ext2fs/ext2_htree.c stable/10/sys/fs/ext2fs/ext2_lookup.c stable/10/sys/fs/ext2fs/ext2_vfsops.c stable/10/sys/fs/ext2fs/ext2fs.h stable/10/sys/modules/ext2fs/Makefile
A commit references this bug: Author: pfg Date: Wed Apr 22 00:40:44 UTC 2015 New revision: 281842 URL: https://svnweb.freebsd.org/changeset/base/281842 Log: MFC r281670, r281703: Drop experimental ext2fs dir_index support. The htree directory index is a highly desirable feature for research purposes and was meant to improve performance in our ext2/3 driver. Unfortunately our implementation has two problems: - It never really delivered any performance improvement. - It appears to corrupt the filesystem in undetermined circumstances. Strictly speaking dir_index is not required for read/write support in ext2/3 and our limited ext4 support still works fine without it. Regain stability in the ext2 driver by removing it. We may need it back (fixed) if we want to support encrypted ext4 support but thanks to the wonders of version control we can always revert this change and bring it back. PR: 191895 PR: 198731 PR: 199309 Changes: _U stable/9/sys/ _U stable/9/sys/conf/ stable/9/sys/conf/files _U stable/9/sys/fs/ stable/9/sys/fs/ext2fs/ext2_dir.h stable/9/sys/fs/ext2fs/ext2_extern.h stable/9/sys/fs/ext2fs/ext2_hash.c stable/9/sys/fs/ext2fs/ext2_htree.c stable/9/sys/fs/ext2fs/ext2_lookup.c stable/9/sys/fs/ext2fs/ext2_vfsops.c stable/9/sys/fs/ext2fs/ext2fs.h _U stable/9/sys/modules/ stable/9/sys/modules/ext2fs/Makefile