From: malahal@us.ibm.com <malahal@us.ibm.com>
To: lvm-devel@redhat.com
Subject: [PATCH 2 of 4] Handle transient secondary mirror leg failures
Date: Fri, 18 Dec 2009 12:54:30 -0800 [thread overview]
Message-ID: <20091218205430.GA24047@us.ibm.com> (raw)
In-Reply-To: <4B2BE44D.6090808@redhat.com>
Takahiro Yasui [tyasui at redhat.com] wrote:
> > IMHO, suspend/resume is doing two things if the kernel code blocks on
> > failure -- 1) letting the kernel module unblock 2) start resync. We
> > should separate those two actions. Maybe, we should do something here???
> > Have an ioctl to start resync or have a message to unblock....
>
> I'm sorry I don't get your point to separate unblock and resync.
> Currently "unblock" is done by "suspend" and resync is done by "resume"
> We need to reset log_failure/leg_failre, but anything else?
Let us talk about suspend with noflush as the other case would fail the
I/O. The suspend just REQUEUE's, so it really needs resume to send the
I/O down to a surviving leg. As far as the application goes, the I/O
gets blocked until the resume, anyway.
Also in do_writes(), we block any I/O that is going to a nosync region.
If I understand, The recent block on error patch just fails to do any
I/O on a "nosync" region. In other words, we don't entertain any mirror
with leg failures and still continue to function as a mirror!
We can reset log_failure/leg_failure in resume to make them work for now
as you say.
--Malahal.
next prev parent reply other threads:[~2009-12-18 20:54 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-12-13 9:18 [PATCH 0 of 4] Re-integrate a failed secondary mirror leg Malahal Naineni
2009-12-13 9:18 ` [PATCH 1 of 4] Add more error codes in mirror DSO Malahal Naineni
2009-12-18 16:28 ` Jonathan Brassow
2009-12-18 17:01 ` malahal
2009-12-22 2:07 ` malahal
2009-12-13 9:18 ` [PATCH 2 of 4] Handle transient secondary mirror leg failures Malahal Naineni
2009-12-18 17:10 ` Jonathan Brassow
2009-12-18 18:25 ` Takahiro Yasui
2009-12-18 18:49 ` malahal
2009-12-18 20:21 ` Takahiro Yasui
2009-12-18 20:54 ` malahal [this message]
2009-12-18 18:35 ` malahal
2009-12-13 9:18 ` [PATCH 3 of 4] Add dm_event_set_timeout/dm_event_unset_timeout interface Malahal Naineni
2009-12-22 2:12 ` malahal
2009-12-22 10:51 ` Alasdair G Kergon
2009-12-23 1:58 ` malahal
2009-12-13 9:18 ` [PATCH 4 of 4] Attempt to resync a failed secondary leg few times before giving up Malahal Naineni
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=20091218205430.GA24047@us.ibm.com \
--to=malahal@us.ibm.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.