Bug #2114

Updated by raitech over 2 years ago

Hello,

I have troubles trying to add a volume to my HAMMER root filesystem on a fresh
install (DragonFly 2.10.1 i386, on an AMD Athlon 2000+ with 512 MB RAM). Maybe
I'm doing something wrong, but if so I don't see what. I created a new
partition table on the hard drive (ad2) with a DF slice (ad2s1), and a hammer
partition on it (ad2s1d). Then I just run hammer volume-add /dev/ad2s1d /, and
it panics.

If I add the volume to /boot/loader.conf and /etc/fstab, after a reboot I can
see it in hammer volume-list, but hammer info gives exactly the same results
as with only the first volume. hammer volume-del fails (device busy), but I can
safely remove the new volume from loader.conf and fstab (I also tried without
running volume-del, same thing).

It is fully reproducible, with this hard drive and with another one (and if I
remember well, I had the same problem when I played with HAMMER in a KVM
virtual machine some times ago).
The session log below shows how I reproduced the problem (with the same first
drive). It seems that something was initialised, because I had to erase the
beginning of the partition to re-add the volume.

Please tell me if I made a mistake somewhere, and if not what I can do to help
solving the bug. I attached the crash info and core files (I can provide the
full core dump if needed).

Cheers,

Matteo

16:38 root@vicious ~# fdisk ad2
******* Working on device /dev/ad2 *******
parameters extracted from device are:
cylinders=24696 heads=256 sectors/track=63 (16128 blks/cyl)

Figures below won't work with BIOS for partitions not in cyl 1
parameters to be used for BIOS calculations are:
cylinders=24696 heads=256 sectors/track=63 (16128 blks/cyl)

Media sector size is 512
Warning: BIOS sector numbering starts with sector 1
Information from DOS bootblock is:
The data for partition 1 is:
sysid 165,(DragonFly/FreeBSD/NetBSD/386BSD)
start 63, size 398297025 (194480 Meg), flag 80 (active)
beg: cyl 0/ head 1/ sector 1;
end: cyl 1023/ head 255/ sector 63
The data for partition 2 is:
<UNUSED>
The data for partition 3 is:
<UNUSED>
The data for partition 4 is:
<UNUSED>
16:39 root@vicious ~# disklabel ad2s1
# /dev/ad2s1:
#
# Informational fields calculated from the above
# All byte equivalent offsets must be aligned
#
# boot space: 1044992 bytes
# data space: 199147483 blocks # 194479.96 MB (203927023104 bytes)
#
# NOTE: If the partition data base looks odd it may be
# physically aligned instead of slice-aligned
#
diskid: 076febcf-c669-11e0-bb09-01138f237da1
label:
boot2 data base: 0x000000001000
partitions data base: 0x000000100200
partitions data stop: 0x002f7b0f7000
backup label: 0x002f7b0f7000
total size: 0x002f7b0f8200 # 194480.97 MB
alignment: 4096
display block size: 1024 # for partition display only

16 partitions:
# size offset fstype fsuuid
d: 199147480 0 HAMMER # 194479.961MB
d-stor_uuid: 5191beaf-c67a-11e0-9d47-01138f237da1
16:40 root@vicious ~# hammer volume-add /dev/ad2s1d /
hammer volume-add ioctl: Inappropriate file type or format
16:41 root@vicious ~# dd if=/dev/zero of=/dev/ad2s1d bs=1M count=1
1+0 records in
1+0 records out
1048576 bytes transferred in 0.037720 secs (27798965 bytes/sec)
16:42 root@vicious ~# hammer volume-add /dev/ad2s1d /

An error occurred: 79
panic: hammer_io_set_modlist: duplicate entry
Trace beginning at frame 0xcc2e37a0
panic(ffffffff,c07acd60,c06bfbbc,cc2e37d0,c1cadf30) at panic+0x101
panic(c06bfbbc,c1cadf30,0,c1cadf38,c9d69670) at panic+0x101
hammer_io_modify(cc2e3880,cc2e3814,c0533fbe,c1cadf38,1) at
hammer_io_modify+0x186
hammer_modify_volume(cc2e3a30,c1cadf30,c5b88094,4,cc2e3860) at
hammer_modify_volume+0x4a
hammer_ioc_volume_add(cc2e3a30,c9dd44e0,c97ca258,c1d9f950,c1d9f954) at
hammer_ioc_volume_add+0x49a
hammer_ioctl(c9dd44e0,c4306811,c97ca258,1,c7d91ba8) at hammer_ioctl+0xf41
hammer_vop_ioctl(cc2e3a98,c0725d48,c1d80e00,cc1c7498,cc2e3ae8) at
hammer_vop_ioctl+0x5e
vop_ioctl(c1d80e00,c1db8538,c4306811,c97ca258,1) at vop_ioctl+0x75
vn_ioctl(c7dcf1e8,c4306811,c97ca258,c7d91ba8,cc2e3cf0) at vn_ioctl+0x106
fo_ioctl(c7d91ba8,cc2e3cf0,430,c7dc0000,c7dc0000) at fo_ioctl+0x3c
mapped_ioctl(3,c4306811,bfbff280,0,cc2e3cf0) at mapped_ioctl+0x4ae
sys_ioctl(cc2e3cf0,cc2e3d00,c,c9743158,cc2e3cf0) at sys_ioctl+0x2e
syscall2(cc2e3d40) at syscall2+0x232
Xint0x80_syscall() at Xint0x80_syscall+0x36
Debugger("panic")
Stopped at Debugger+0x3f: movb $0,in_Debugger.4431

Back