Linux Device Mapper development
 help / color / mirror / Atom feed
From: malahal@us.ibm.com
To: dm-devel@redhat.com
Subject: Re: DM-RAID1 data corruption
Date: Wed, 15 Apr 2009 19:49:59 -0700	[thread overview]
Message-ID: <20090416024959.GB19876@us.ibm.com> (raw)
In-Reply-To: <49E645DA.4010204@redhat.com>

Takahiro Yasui [tyasui@redhat.com] wrote:
> malahal@us.ibm.com wrote:
> > Look at this patch
> > http://permalink.gmane.org/gmane.linux.kernel.device-mapper.devel/4973
> >
> > It essentially generates an uevet and waits for the user level code to
> > act on it and send a message to unblock it.
> 
> This patch was posted more then a year ago, and I could not find
> any discussion on this issue/patch in the mailing list archive.
> What was the conclusion of the discussion about this patch?
> Are there any discussions outside this mailing list?

The patch alone can't fix the issue. It needed LVM changes. We had some
discussions on how to implement the LVM related changes. Finally I was
told look at remote-replication target code to see how that handles
selecting the right "MASTER" device. That code is not published yet.

> I think data corruption is really a serious problem even if it
> has very small chance to happen. If it is a known problem, we
> need to fix it. Don't you agree?

Of course, yes!

> I roughly looked your patch, and I understand it is one of the
> approach to fix this issue. I have just one concern about delay.
> When 'unblock' message is delayed for some reason (by dmeventd?),
> all write I/Os from applications need to be waited, and many I/Os
> might come in a write queue and be blocked during 'block' status.

That is how the "log device" failure is handled today. Alasdair also
thought we needed to change LVM to handle events as soon as possible
using a single thread and not block behind an LVM scan, etc.

Another method is to have dm-mirror target metadata on the disk itself.
This metadata is internal to the kernel module and would NOT touch it.
This would avoid any user level interaction and delays.

Of course, we can do something in the log itself but it will not fix
"corelog" mirrors, more over the system can't auto recover after a
missing log alone.

Thanks, Malahal.

  reply	other threads:[~2009-04-16  2:49 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-04-14 20:46 DM-RAID1 data corruption Mikulas Patocka
2009-04-14 21:07 ` Takahiro Yasui
2009-04-15  3:12 ` malahal
2009-04-15 20:38   ` Takahiro Yasui
2009-04-16  2:49     ` malahal [this message]
2009-04-16 22:24       ` Takahiro Yasui
2009-04-20  9:56         ` Mikulas Patocka
2009-04-20 17:08           ` Takahiro Yasui
2009-05-27  1:33           ` malahal
2009-06-23  1:09           ` malahal
2009-06-23 16:44             ` Takahiro Yasui
2009-06-23 18:22               ` malahal
2009-06-24  3:03               ` Neil Brown
2009-06-24 16:09                 ` Takahiro Yasui
2009-06-25 14:47                   ` Mikulas Patocka
2009-06-25 16:16                     ` Takahiro Yasui

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=20090416024959.GB19876@us.ibm.com \
    --to=malahal@us.ibm.com \
    --cc=dm-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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox