[linux-lvm] [BUG] Spaces in LVM1 LV names => *deep trouble* when converting to LVM2
Dominique Quatravaux
dom at idealx.com
Wed May 10 20:26:14 UTC 2006
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Hi, I encountered a very serious bug with LVM today. I'm using
lvm2-2.01.04-5 from Debian stable, kernel 2.6.17-rc3
# lvm version
LVM version: 2.01.04 (2005-02-09)
Library version: 1.01.00-ioctl (2005-01-17)
Driver version: 4.6.0
What I did:
* created a LV in an LVM1 VG using EVMS (yeah, I know) with a
space in the name (yeah, yeah, I know, I know :-));
* converted the VG to LVM2 using vgconvert;
* as a result the space in the LVM1 metadata was converted over
into a space in LVM2 textual metadata, which causes a nice
"Parse error line 123" for every subsequent LVM command on that
VG, including "vgcfgrestore"...
Of course I did that on the root VG of my work laptop (Backups? What
backups?) and ended up in the aforementioned pickle. I tried some dd
stunts to overwrite the space with a dash, having discovered the
correct offset and block size with strace() (which for the record were
respectively one block and 2560 bytes, YMMV) - But bummer, some
wiseguy put a CRC32 checksum in there! :-) I had to recompile a custom
version of lvm that passes NULL as the checksum_fn parameter to
text_vg_import_fd (again for the record, that's a trivial one-line
patch in function _vg_read_raw_area, in format-text.c around line 286).
The situation definitely needs some fixing. My humble suggestions:
* vgconvert should surface-test the LVM1 metadata as strictly as
the command-line "lvcreate" tool does on its arguments;
* there should be a mechanism for dealing with corrupt LVM
metadata, at the minimum a global command-line switch to
temporarily disable checksum verifications.
Now investigating backup software *real seriously* :-) Thanks for your
work on the Linux LVM suite,
- --
Dominique QUATRAVAUX Ingénieur senior
01 44 42 00 08 IDEALX
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.1 (GNU/Linux)
Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org
iD8DBQFEYkxmMJAKAU3mjcsRApAFAJ4tCEJ0pK1bIBWruaq5VDu2izf75gCeKQCC
zzsNGFC6lPaRBvpRy2am/TM=
=ad0C
-----END PGP SIGNATURE-----
More information about the linux-lvm
mailing list