Discussion:
[linux-lvm] thin_check called with wrong path during "vgchange -ay"
Chris Friesen
2015-11-26 16:35:16 UTC
Permalink
Hi,

I'm hoping this is a known issue. I'm trying to use thin provisioning with
openstack cinder.

If I run "vgchange -ay cinder-volumes" manually, it complains:

controller-0:/home/wrsroot# vgchange -ay cinder-volumes
Check of thin pool cinder-volumes/cinder-volumes-pool failed (status:1).
Manual repair required (thin_dump --repair
/dev/mapper/cinder-volumes-cinder-volumes-pool_tmeta)!

If I run thin_check on /dev/mapper/cinder-volumes-cinder-volumes-pool_tmeta it
complains that the file doesn't exist:


controller-0:/home/wrsroot# thin_check
/dev/mapper/cinder-volumes-cinder-volumes-pool_tmeta
Couldn't stat dev path


The actual file name is /dev/mapper/cinder--volumes-cinder--volumes--pool_tmeta
(note the double-hyphens) and if I run thin_check on that then it seems happy:

controller-0:/home/wrsroot# thin_check
/dev/mapper/cinder--volumes-cinder--volumes--pool_tmeta
examining superblock
examining devices tree
examining mapping tree
checking space map counts


Does anyone know why thin_check is being called with the wrong filename?

For what it's worth, here's my lvm version:
controller-0:/home/wrsroot# lvm version
LVM version: 2.02.95(2) (2012-03-06)
Library version: 1.02.74 (2012-03-06)
Driver version: 4.24.0


Thanks,
Chris
Alasdair G Kergon
2015-11-26 16:43:53 UTC
Permalink
Post by Chris Friesen
controller-0:/home/wrsroot# vgchange -ay cinder-volumes
Check of thin pool cinder-volumes/cinder-volumes-pool failed
(status:1). Manual repair required (thin_dump --repair
/dev/mapper/cinder-volumes-cinder-volumes-pool_tmeta)!
I don't see that upstream. Try upgrading lvm2.

Alasdair
Chris Friesen
2015-11-26 17:07:10 UTC
Permalink
Post by Alasdair G Kergon
Post by Chris Friesen
controller-0:/home/wrsroot# vgchange -ay cinder-volumes
Check of thin pool cinder-volumes/cinder-volumes-pool failed
(status:1). Manual repair required (thin_dump --repair
/dev/mapper/cinder-volumes-cinder-volumes-pool_tmeta)!
I don't see that upstream. Try upgrading lvm2.
Alasdair
I think I found it. Git commit e866931 (Improve thin_check option passing) has
"Fix dm name usage for thin pools with '-' in name." in the commit message.

Looks like it went into 2.2.96, one version after the one I'm using. Just my
luck. :)

Chris
Zdenek Kabelac
2015-11-26 17:14:08 UTC
Permalink
Post by Chris Friesen
Hi,
I'm hoping this is a known issue. I'm trying to use thin provisioning with
openstack cinder.
controller-0:/home/wrsroot# vgchange -ay cinder-volumes
Check of thin pool cinder-volumes/cinder-volumes-pool failed (status:1).
Manual repair required (thin_dump --repair
/dev/mapper/cinder-volumes-cinder-volumes-pool_tmeta)!
If I run thin_check on /dev/mapper/cinder-volumes-cinder-volumes-pool_tmeta it
controller-0:/home/wrsroot# thin_check
/dev/mapper/cinder-volumes-cinder-volumes-pool_tmeta
Couldn't stat dev path
The actual file name is
/dev/mapper/cinder--volumes-cinder--volumes--pool_tmeta (note the
controller-0:/home/wrsroot# thin_check
/dev/mapper/cinder--volumes-cinder--volumes--pool_tmeta
examining superblock
examining devices tree
examining mapping tree
checking space map counts
Does anyone know why thin_check is being called with the wrong filename?
controller-0:/home/wrsroot# lvm version
LVM version: 2.02.95(2) (2012-03-06)
This was early version with thin_check call support - and had a bug
in path building fixed in 2.02.96.

Anyway please switch to some version from this year - ideally upstream...

Zdenek

Loading...