[linux-lvm] A question about the metadata circular buffer
Alasdair G Kergon
agk at redhat.com
Fri Dec 12 12:49:17 UTC 2008
On Fri, Dec 12, 2008 at 08:35:46PM +0800, yuan yuan wrote:
> if ((new_wrap && old_wrap) ||
> (rlocn && (new_wrap || old_wrap) && (new_end > rlocn->offset))
> ||
> (mdac->rlocn.size >= mdah->size)) {
> log_error("VG %s metadata too large for circular buffer",
> vg->name);
> My question is , for a circular buffer, why should we check so many
> conditions instead of just checking (mdac->rlocn.size >= mdah->size)?
The buffer has to hold *two* versions of the metadata during a change,
the old and the new version, and those two could be different sizes.
Alasdair
--
agk at redhat.com
More information about the linux-lvm
mailing list