NetBSD-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: bin/54488 (LFS tests log errors since 2019-08-22)



gson%NetBSD.org@localhost writes:

> Synopsis: LFS tests log errors since 2019-08-22
>
> Responsible-Changed-From-To: bin-bug-people->brad
> Responsible-Changed-By: gson%NetBSD.org@localhost
> Responsible-Changed-When: Mon, 26 Aug 2019 08:41:39 +0000
> Responsible-Changed-Why:
> Over to committer.


I am investigating...  there may be a rumpism..  the atf test case for
LFS is also a bit unusual... it compiles and links into itself the
cleaner.


The usual cases work fine (test3 is a 9.99.10 DOMU from 2019-08-24):

test3# vnconfig vnd0 /var/tmp/dk.img
test3# disklabel -e vnd0a
test3# newfs_lfs vnd0a
Creating a version 2 LFS32 with roll-forward ident 0x5458c880
99.0MB in 99 segments of size 1048576
super-block backups (for fsck -b #) at:
16, 18432, 36864, 55296, 73728, 92160, 110592, 129024, 147456, 165888.
test3# mount -t lfs /dev/vnd0a /mnt
test3# df -t lfs
Filesystem    1K-blocks       Used      Avail %Cap Mounted on
/dev/vnd0a        80785          8      72697   0% /mnt
test3# ps -auxww|grep lfs
root    1637  0.0  0.0 22404  1692 ?       Ss    4:22PM 0:00.00 /libexec/lfs_cleanerd -b -n 4 /mnt 
root     648  0.0  0.0 17944  1576 pts/0   S+    4:22PM 0:00.00 grep lfs 

test3# zfs create -V 100m tank/lfstest
test3# newfs_lfs -F /dev/zvol/rdsk/tank/lfstest
Creating a version 2 LFS32 with roll-forward ident 0x721616f9
99.0MB in 99 segments of size 1048576
super-block backups (for fsck -b #) at:
16, 18432, 36864, 55296, 73728, 92160, 110592, 129024, 147456, 165888.
test3# mount -t lfs /dev/zvol/dsk/tank/lfstest /mnt
test3# df -t lfs
Filesystem                  1K-blocks       Used      Avail %Cap Mounted on
/dev/zvol/dsk/tank/lfstest      80785          8      72697   0% /mnt
test3# ps -auxww|grep lfs
root    1492  0.0  0.0 25452  1688 ?       Ss    4:28PM 0:00.00 /libexec/lfs_cleanerd -b -n 4 /mnt 
root     905  0.0  0.0 19400  1580 pts/0   S+    4:28PM 0:00.00 grep lfs 

test3# disklabel -e xbd3
test3# newfs_lfs /dev/rxbd3a
Creating a version 2 LFS32 with roll-forward ident 0x110f9ec5
1999.0MB in 1999 segments of size 1048576
super-block backups (for fsck -b #) at:
16, 407552, 815104, 1222656, 1630208, 2037760, 2445312, 2852864, 3260416, 
3667968.
test3# mount -t lfs /dev/xbd3a /mnt
test3# df -t lfs
Filesystem    1K-blocks       Used      Avail %Cap Mounted on
/dev/xbd3a      1843049          8    1658730   0% /mnt
test3# ps -auxww|grep lfs
root    1432  0.0  0.0 22408  1772 ?       Ss    4:29PM 0:00.00 /libexec/lfs_cleanerd -b -n 4 /mnt 
root    1557  0.0  0.0 19368  1572 pts/0   S+    4:29PM 0:00.00 grep lfs 


There is a problem with rump, but I am not sure I broke that:

test3# mount -o rump -t lfs /dev/xbd3a /mnt
rump_lfs: rump_lfs: puffs_daemonmount: Device busy
: Device busy

Oddly, it almost works with the raw device:

test3# mount -o rump -t lfs /dev/rxbd3a /mnt
[   1.0300090] WARNING: the log-structured file system is experimental
[   1.0300090] WARNING: it may cause system crashes and/or corrupt data
test3# lfs_cleanerd[1621]: couldn't convert '/dev/rxbd3a' ro raw name: Inappropriate file type or format
lfs_cleanerd[1621]: /mnt: couldn't init: error code -1
lfs_cleanerd[1621]: : detaching cleaner


This one may be my fault, if lfs_cleanerd needs to work on files.  I
will test that (and the above with the raw device):

test3# mount -o rump -t lfs /var/tmp/dk.img /mnt
[   1.0300090] WARNING: the log-structured file system is experimental
[   1.0300090] WARNING: it may cause system crashes and/or corrupt data
test3# lfs_cleanerd[1444]: couldn't convert '/var/tmp/dk.img' ro raw name: Inappropriate file type or format
lfs_cleanerd[1444]: /mnt: couldn't init: error code -1
lfs_cleanerd[1444]: : detaching cleaner

However, something else may be very wrong:

test3# df
Filesystem       1K-blocks       Used      Avail %Cap Mounted on
/dev/xbd0a        10079822    2069410    7506422  21% /
rstuff/var          409600     267402     142198  65% /var
tmpfs              1048576          4    1048572   0% /var/shm
tmpfs              1048576          4    1048572   0% /tmp
kernfs                   1          1          0 100% /kern
ptyfs                    1          1          0 100% /dev/pts
procfs                   4          4          0 100% /proc
rstuff             1630548         23    1630525   0% /rstuff
/var/tmp/dk.img      80777          8      72689   0% /mnt
test3# df -t lfs
test3# ls -l /mnt
test3# touch /mnt/A
[ 104.7700090] panic: kernel diagnostic assertion "*vpp == NULL" failed: file "/usr/src/sys/rump/fs/lib/liblfs/../../../../ufs/lfs/lfs_vnops.c", line 879 
[ 104.7700090] rump kernel halting...
halted
touch: /mnt/A: Device not configured



LFS will more or less work just fine a lot of the time without the
cleaner running, at least in my experience.


Home | Main Index | Thread Index | Old Index