[linux-lvm] 0.9.1 vgscan doesn't detect upgraded vg's

Michael McLinn mikem at twisted.net
Tue Feb 6 02:40:19 UTC 2001


Hello,

I was running some large vg's with 0.8final, and upgraded
to 0.9.1_beta3 w/ kernel 2.4.1-ac2.  

After the upgrade, vgscan does not find any volume groups.

Reverting to prior tools + kernel does not work as the on disk
vg structures have been altered (presumably upgraded to the v2 
format). 

I have no suitably recent vgcfg backups, so restoring is not an
option.  

Thus, I have been digging in vgscan to see what is going wrong.

My question is this...

I look at the output of pvdata -U on a physical volume. 
I see 3 UUID slots, which matches the number of pv's in the vg.
However, on the first pv in the vg, only the first one is filled.
On the second pv in the vg, the first two are filled.  On the 
third pv of the vg, all three are filled. 

Within pv_read_all_pv_of_vg.c, there is a call to 
pv_read_uuidlist(), this routine is scanning the first pv, 
and thus only returns one uuid.

Later the result is only the first pv is returned from
pv_read_all_pv_of_vg().  

My theory is each pv is supposed to have the the UUID's of 
itself, and all other pv's in it's vg within it's UUID 
datastructure.  Is this so?

If this is the case, it seems it would be possible to write the 
correct UUID's to the datastructure on disk, and potentially 
improve (maybe even fix) my situation.

Any advice would be welcome.  A lot of important data is riding on 
solving this problem.

One more note that might be of interest, these volume groups were
created with a much earlier version of lvm, 0.6 or 0.7 I believe.

Thank you.

-Michael McLinn



More information about the linux-lvm mailing list