From 756d027da5cd0e10b10181515a75ecf8d275a5b3 Mon Sep 17 00:00:00 2001 From: Petr Rockai Date: Wed, 10 Jun 2015 16:17:45 +0200 Subject: [PATCH] metadata: Explain the pvs_outdated field in struct volume_group. --- lib/metadata/vg.h | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/lib/metadata/vg.h b/lib/metadata/vg.h index bb21f3441..2da565151 100644 --- a/lib/metadata/vg.h +++ b/lib/metadata/vg.h @@ -92,7 +92,18 @@ struct volume_group { /* * List of physical volumes that carry outdated metadata that belongs - * to this VG. Currently only populated when lvmetad is in use. + * to this VG. Currently only populated when lvmetad is in use. The PVs + * on this list could still belong to the VG (but their MDA carries an + * out-of-date copy of the VG metadata) or they could no longer belong + * to the VG. With lvmetad, this list is populated with all PVs that + * have a VGID matching ours, but seqno that is smaller than the + * current seqno for the VG. The MDAs on still-in-VG PVs are updated as + * part of the normal vg_write/vg_commit process. The MDAs on PVs that + * no longer belong to the VG are wiped during vg_read. + * + * However, even though still-in-VG PVs *may* be on the list, this is + * not guaranteed. The in-lvmetad list is cleared whenever out-of-VG + * outdated PVs are wiped during vg_read. */ struct dm_list pvs_outdated;