All of lore.kernel.org
 help / color / mirror / Atom feed
From: Nate Dailey <nate.dailey@stratus.com>
To: Brassow Jonathan <jbrassow@redhat.com>, NeilBrown <neilb@suse.de>
Cc: linux-raid@vger.kernel.org,
	device-mapper development <dm-devel@redhat.com>
Subject: Re: [PATCH] dm-raid: check events in super_validate
Date: Tue, 25 Feb 2014 17:22:55 -0500	[thread overview]
Message-ID: <530D17BF.7090008@stratus.com> (raw)
In-Reply-To: <DB09A2EA-5D6C-449F-A61A-EFF556F269B8@redhat.com>

Here's what I've done to reproduce this:

- remove a disk containing one leg of an LVM raid1 mirror
- do enough IO that a lengthy recovery will be required
- insert the removed disk
- let recovery begin, but deactivate the LV before it completes
- activate the LV

This is the point where the recovery should start back up, but it 
doesn't. I haven't tried this in a few weeks, but am happy to try it 
again if it would help.

Nate




On 02/25/2014 05:13 PM, Brassow Jonathan wrote:
> On Feb 24, 2014, at 11:30 PM, NeilBrown wrote:
>
>> On Sat, 1 Feb 2014 09:35:20 -0500 Nate Dailey <nate.dailey@stratus.com> wrote:
>>
>>> If an LVM raid1 recovery is interrupted by deactivating the LV, when the
>>> LV is reactivated it comes up with both members in sync--the recovery
>>> never completes.
>>>
>>> I've been trying to figure out how to fix this. Does this approach look
>>> okay? I'm not sure what else to use to determine that a member disk is
>>> out of sync. It looks like if disk_recovery_offset in the superblock
>>> were updated during the recovery, that would also cause it to resume
>>> after interruption--but MD skips the recovery target disk when writing
>>> superblocks, so this doesn't work.
>>>
>>> Comments?
>> I know it is confusing, but this should really have gone to dm-devel rather
>> than linux-raid, to make sure Jon Brassow see it (hi Jon!).
>>
>> Setting recovery_offset to 0 certainly looks wrong, it should be set to
>>   sb->disk_recovery_offset
>> like the code just above your change.
>> Why does the code there not meet your need.
>>
>> Jon: can you help?
> Sure, thanks for forwarding.
>
> Could you describe first how you are creating the problem?
>
> When I create a RAID1 LV, deactivate it, and reactivate it; I don't see it skip the sync.  Also, if I replace a single drive and cycle the LV, I don't see it skip the sync.  What steps am I missing?
>
>   brassow
>


  reply	other threads:[~2014-02-25 22:22 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-02-01 14:35 [PATCH] dm-raid: check events in super_validate Nate Dailey
2014-02-25  5:30 ` NeilBrown
2014-02-25 22:13   ` Brassow Jonathan
2014-02-25 22:22     ` Nate Dailey [this message]
2014-02-25 22:59       ` Brassow Jonathan
2014-02-26 22:21         ` [dm-devel] " Brassow Jonathan
2014-02-27  0:17           ` Nate Dailey
2014-02-28 20:40             ` Brassow Jonathan
2014-03-01 13:54               ` Brassow Jonathan

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=530D17BF.7090008@stratus.com \
    --to=nate.dailey@stratus.com \
    --cc=dm-devel@redhat.com \
    --cc=jbrassow@redhat.com \
    --cc=linux-raid@vger.kernel.org \
    --cc=neilb@suse.de \
    /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.