]> sourceware.org Git - lvm2.git/commit
Adjust auto-metadata repair and caching logic to try to cope with empty mdas.
authorAlasdair Kergon <agk@redhat.com>
Wed, 7 Jul 2010 02:53:16 +0000 (02:53 +0000)
committerAlasdair Kergon <agk@redhat.com>
Wed, 7 Jul 2010 02:53:16 +0000 (02:53 +0000)
commit7f7af46862ae01baef48cd172cf9c2c8bb9551e5
treee7c1d208b2ee6337c5b52c467bf9e143f7f953b0
parent6aecef2c041149bd7aa84b009a5cf9840ed62377
Adjust auto-metadata repair and caching logic to try to cope with empty mdas.

- If a PV contained empty mdas, the auto-recovery code was not kicking in.
- The 'inconsistent' state was getting lost when metadata was cached so
  recovery didn't kick in.  But leave the behaviour alone when using
  precommitted metadata because of a warning in a confusing FIXME.

In my testing, pvs and vgs didn't repair inconsistent metadata like they
used to do.  (How many other tools fail similarly now?)

And there should be no need to cache inconsistent metadata because it is
supposed to get repaired under the protection of a write lock immediately it is
discovered.

This code is in need of a redesign based on first principles.
I still see bugs in this code and this commit is risky.
WHATS_NEW
lib/metadata/metadata.c
lib/metadata/metadata.h
This page took 0.036213 seconds and 5 git commands to generate.