All of lore.kernel.org
 help / color / mirror / Atom feed
From: Petr Rockai <prockai@redhat.com>
To: lvm-devel@redhat.com
Subject: [PATCH] Improve handling of inconsistent precommit metadata
Date: Sun, 10 Apr 2011 23:19:55 +0200	[thread overview]
Message-ID: <87d3ktiz2c.fsf@aldalome.int.mornfall.net.> (raw)

Hi,

working on RHBZ 651590 (failure to lock LV results in failure to repair
mirror after transient error), I have tracked the problem down to the
following sequence of events:

1) devices fail IO, triggering repair
2) dmeventd starts fixing up the mirror
3) during the downconversion, a new metadata version is written

--> the devices come back online here

4) the mirror device suspend/resume is called to update DM tables
5) during the suspend/resume cycle, *pre*-commit metadata is read;
   however, since the failed devices are now back online, we get back
   inconsistent set of precommit metadata and the whole operation fails

I am attaching a patch that relaxes the check that fails in step 5
above, namely by ignoring inconsistencies coming from PVs that are
marked MISSING.

The patch may fail to apply completely cleanly to current CVS, but it
should be good enough for review. I will check it in myself when
reviewed.

Yours,
   Petr

PS: There are couple more patches from me in the review backlog (most
importantly the vgreduce --removemissing --force refactor). If you have
a while, please do have a look.

-------------- next part --------------
A non-text attachment was scrubbed...
Name: inconsistent-precommit-metadata.diff
Type: text/x-diff
Size: 6722 bytes
Desc: not available
URL: <http://listman.redhat.com/archives/lvm-devel/attachments/20110410/036c13cf/attachment.bin>
-------------- next part --------------

-- 
id' Ash = Ash; id' Dust = Dust; id' _ = undefined

                 reply	other threads:[~2011-04-10 21:19 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87d3ktiz2c.fsf@aldalome.int.mornfall.net. \
    --to=prockai@redhat.com \
    --cc=lvm-devel@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.