Skip to contentSkip to conversation

generic/459 requires thin_check?

DISCUSSION Darrick J. Wong 2 participants 2 messages Oct 28, 2017 – Oct 29, 2017

lore
Share & tools
lore
#0 lore raw

Hi,

I noticed a test failure when running generic/459 -- it seems that this test wants thin_check to be installed, doesn't explicitly check for it (possibly because it is indirectly run by lvcreate), and therefore the thin pool fails to activate. I think this test needs to look for thin_check and _notrun if it's not found. Comments?

--D

results/generic/459.out is as follows:

meta-data=/dev/pmem4             isize=512    agcount=4, agsize=16000 blks
         =                       sectsz=4096  attr=2, projid32bit=1
         =                       crc=1        finobt=1, sparse=1, rmapbt=1, reflink=1
data     =                       bsize=4096   blocks=64000, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal log           bsize=4096   blocks=3609, version=2
         =                       sectsz=4096  sunit=1 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0

File descriptor 3 (/tmp/log) leaked on lvm invocation. Parent PID 11865: /bin/bash
Wiping xfs signature on /dev/pmem4.
Physical volume "/dev/pmem4" successfully created
File descriptor 3 (/tmp/log) leaked on lvm invocation. Parent PID 11865: /bin/bash
Volume group "vg_459" successfully created
File descriptor 3 (/tmp/log) leaked on lvm invocation. Parent PID 11865: /bin/bash
Logical volume "pool_459" created.
File descriptor 3 (/tmp/log) leaked on lvm invocation. Parent PID 11865: /bin/bash
/usr/sbin/thin_check: execvp failed: No such file or directory
WARNING: Integrity check of metadata for pool vg_459/pool_459 failed.
WARNING: Sum of all thin volume sizes (200.00 MiB) exceeds the size of thin pool vg_459/pool_459 (100.00 MiB)! For thin pool auto extension activation/thin_pool_autoextend_threshold should be below 100. /usr/sbin/thin_check: execvp failed: No such file or directory
Check of pool vg_459/pool_459 failed (status:2). Manual repair required!
Failed to activate thin pool vg_459/pool_459.

#1 lore raw
Quoted 9 lines · Darrick J. Wong

Hi,

I noticed a test failure when running generic/459 -- it seems that this test wants thin_check to be installed, doesn't explicitly check for it (possibly because it is indirectly run by lvcreate), and therefore the thin pool fails to activate. I think this test needs to look for thin_check and _notrun if it's not found. Comments?

From lvmthin(7):

"
When a thin pool LV is activated, lvm runs the thin_check command to check the correctness of the metadata on the pool metadata LV.

lvm.conf(5) thin_check_executable
can be set to an empty string ("") to disable the thin_check step. This is not recommended. "

and in my RHEL7 system 'thin_check_executable' config is commented out in /etc/lvm/lvm.conf, which means it uses the default /usr/sbin/thin_check command to do the metadata check. And thin_check is provided by package device-mapper-persistent-data.

So IMHO it's totally valid to create thin-pool with lvcreate without thin_check command (i.e. it's not a distro bug that messed up the lvm dependency), and it makes sense to check the existence of thin_check in generic/459.

Thanks,
Eryu

Quoted 29 lines

--D

results/generic/459.out is as follows:

meta-data=/dev/pmem4             isize=512    agcount=4, agsize=16000 blks
         =                       sectsz=4096  attr=2, projid32bit=1
         =                       crc=1        finobt=1, sparse=1, rmapbt=1, reflink=1
data     =                       bsize=4096   blocks=64000, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal log           bsize=4096   blocks=3609, version=2
         =                       sectsz=4096  sunit=1 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0

File descriptor 3 (/tmp/log) leaked on lvm invocation. Parent PID 11865: /bin/bash
Wiping xfs signature on /dev/pmem4.
Physical volume "/dev/pmem4" successfully created
File descriptor 3 (/tmp/log) leaked on lvm invocation. Parent PID 11865: /bin/bash
Volume group "vg_459" successfully created
File descriptor 3 (/tmp/log) leaked on lvm invocation. Parent PID 11865: /bin/bash
Logical volume "pool_459" created.
File descriptor 3 (/tmp/log) leaked on lvm invocation. Parent PID 11865: /bin/bash
/usr/sbin/thin_check: execvp failed: No such file or directory
WARNING: Integrity check of metadata for pool vg_459/pool_459 failed.
WARNING: Sum of all thin volume sizes (200.00 MiB) exceeds the size of thin pool vg_459/pool_459 (100.00 MiB)! For thin pool auto extension activation/thin_pool_autoextend_threshold should be below 100. /usr/sbin/thin_check: execvp failed: No such file or directory
Check of pool vg_459/pool_459 failed (status:2). Manual repair required!
Failed to activate thin pool vg_459/pool_459.