I found a problem on 4-STABLE(maybe 5-CURRENT, too) with libc/db
(BerkeleyDB 1). It that when block size on fs is 65536 bytes,
many programs which use BerkeleyDB(dev_mkdb, cap_mkdb, etc..) are
crash.
[REPLICATE THE TEST]
# dd if=/dev/zero of=/dev/test.image bs=1m count=32
# vnconfig -s labels -c /dev/vn0c /tmp/test.image
# newfs -b 65536 -f 8192 /dev/vn0c
# mount /dev/vn0c /mnt
# dev_mkdb -f /mnt/dev.db /dev
zsh: segmentation fault (core dumped) dev_mkdb -f /mnt/dev.db /dev
# umount /mnt
# newfs -b 32768 -f 8192 /dev/vn0c
# mount /dev/vn0c /mnt
# dev_mkdb -f /mnt/dev.db /dev
# ls -alF dev.db
-rw-r--r-- 1 root wheel 32768 Sep 13 05:06 dev.db
[ANALYSIS REPORT]
Because of optimaization for fs, db/hash looks block size on specified
file in src/lib/libc/db/hash/hash.c. db/hash's block size limit is
MAX_BSIZE(=65536) in if (hashp->BSIZE > MAX_BSIZE) ..... But, I can't
understand others:-).
I think db1 has boundary condition problems.
To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-hackers" in the body of the message