Thread (13 messages) 13 messages, 5 authors, 2022-11-07

Re: A crash caused by the commit 0dd84b319352bb8ba64752d4e45396d8b13e6018

From: Guoqing Jiang <hidden>
Date: 2022-11-07 01:52:54
Also in: dm-devel


On 11/4/22 7:10 PM, Zdenek Kabelac wrote:
Dne 04. 11. 22 v 2:23 Guoqing Jiang napsal(a):
quoted

On 11/3/22 10:46 PM, Heming Zhao wrote:
quoted
On 11/3/22 11:47 AM, Guoqing Jiang wrote:
quoted
Hi,

On 11/3/22 12:27 AM, Mikulas Patocka wrote:
quoted
Hi

There's a crash in the test shell/lvchange-rebuild-raid.sh when 
running
the lvm testsuite. It can be reproduced by running "make check_local
T=shell/lvchange-rebuild-raid.sh" in a loop.
I have problem to run the cmd (not sure what I missed), it would be 
better if
the relevant cmds are extracted from the script then I can 
reproduce it with
those cmds directly.

[root@localhost lvm2]# git log | head -1
commit 36a923926c2c27c1a8a5ac262387d2a4d3e620f8
[root@localhost lvm2]# make check_local 
T=shell/lvchange-rebuild-raid.sh
make -C libdm device-mapper
[...]
make -C daemons
make[1]: Nothing to be done for 'all'.
make -C test check_local
VERBOSE=0 ./lib/runner \
         --testdir . --outdir results \
         --flavours ndev-vanilla --only 
shell/lvchange-rebuild-raid.sh --skip @
running 1 tests
###      running: [ndev-vanilla] shell/lvchange-rebuild-raid.sh 0
| [ 0:00] lib/inittest: line 133: 
/tmp/LVMTEST317948.iCoLwmDhZW/dev/testnull: Permission denied
| [ 0:00] Filesystem does support devices in 
/tmp/LVMTEST317948.iCoLwmDhZW/dev (mounted with nodev?)
I didn't read other mails in this thread, only for above issue.
If you use opensuse, systemd service tmp.mount uses nodev option to 
mount tmpfs on /tmp.
From my experience, there are two methods to fix(work around):
1. systemctl disable tmp.mount && systemctl mask tmp.mount && reboot
2. mv /usr/lib/systemd/system/tmp.mount /root/ && reboot
I am using centos similar system, I can try leap later. Appreciate 
for the tips, Heming.

You can always redirect default /tmp dir to some other 
place/filesystem that allows you to create /dev nodes. Eventually for 
'brave men'  you can let lvm2 test suite to play directly with your 
/dev dir.  Normally nothing bad should happen, but we tend to prefer 
more controled '/dev' managed for a test.

Here are two envvars to play with:


make check_local T=shell/lvchange-rebuild-raid.sh 
LVM_TEST_DIR=/myhomefsdir  LVM_TEST_DEVDIR=/dev

LVM_TEST_DIR for setting of dir where test creates all its files

LVM_TEST_DEVDIR  you can explicitly tell to keep using system's /dev   
(instead of dir created within tmpdir)
Thank you! This works for me.

[root@localhost lvm2]# make check_local T=shell/lvchange-rebuild-raid.sh 
LVM_TEST_DIR=/root/test LVM_TEST_DEVDIR=/dev
make -C libdm device-mapper
make[1]: Nothing to be done for 'device-mapper'.

[... ]

make -C test check_local
VERBOSE=0 ./lib/runner \
         --testdir . --outdir results \
         --flavours ndev-vanilla --only shell/lvchange-rebuild-raid.sh 
--skip @
running 1 tests
###       passed: [ndev-vanilla] shell/lvchange-rebuild-raid.sh 20

### 1 tests: 1 passed, 0 skipped, 0 timed out, 0 warned, 0 failed

Thanks,
Guoqing
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help