From: NeilBrown <neilb@suse.com>
To: Shaohua Li <shli@fb.com>
Cc: linux-raid@vger.kernel.org, Kernel-team@fb.com,
songliubraving@fb.com, hch@infradead.org,
dan.j.williams@intel.com
Subject: Re: [PATCH 9/9] raid5: skip resync if cache(log) is enabled
Date: Wed, 5 Aug 2015 14:16:57 +1000 [thread overview]
Message-ID: <20150805141657.1f193bc2@noble> (raw)
In-Reply-To: <406d69eccd47d2eb57fca57bbafb9871e0858dcf.1438215986.git.shli@fb.com>
On Wed, 29 Jul 2015 17:38:49 -0700 Shaohua Li <shli@fb.com> wrote:
> If cache(log) is enabled, the log structure will guarantee data
> consistency, so skip resync for unclean shutdown
>
> Signed-off-by: Shaohua Li <shli@fb.com>
> ---
> drivers/md/raid5.c | 9 +++++++++
> 1 file changed, 9 insertions(+)
>
> diff --git a/drivers/md/raid5.c b/drivers/md/raid5.c
> index 26ea100..330550a 100644
> --- a/drivers/md/raid5.c
> +++ b/drivers/md/raid5.c
> @@ -6967,6 +6967,15 @@ static int run(struct mddev *mddev)
> }
> }
>
> + if (conf->log) {
> + if (mddev->recovery_cp == 0) {
> + printk(KERN_NOTICE
> + "md/raid:%s: skip resync with caching enabled\n",
> + mdname(mddev));
> + mddev->recovery_cp = MaxSector;
> + }
> + }
> +
> return 0;
> abort:
> md_unregister_thread(&mddev->thread);
I don't think this is correct. When a RAID6 is started, recovery_cp
will be zero and we really do want a resync to happen even if there is
a log.
Rather, I think that recovery_cp should not be set to zero when a log
is being used. So keep the array appearing to be "clean".
If recovery_cp ever does get set to zero (mdadm --assemble
--update=resync can do this), then do the resync.
Thanks,
NeilBrown
prev parent reply other threads:[~2015-08-05 4:16 UTC|newest]
Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-07-30 0:38 [PATCH 0/9]raid5: fix write hole Shaohua Li
2015-07-30 0:38 ` [PATCH 1/9] MD: add a new disk role to present cache device Shaohua Li
2015-08-04 14:28 ` Christoph Hellwig
2015-08-04 18:17 ` Song Liu
2015-08-05 0:25 ` NeilBrown
2015-08-05 1:05 ` NeilBrown
2015-07-30 0:38 ` [PATCH 2/9] md: override md superblock recovery_offset for " Shaohua Li
2015-08-04 14:30 ` Christoph Hellwig
2015-08-05 1:08 ` NeilBrown
2015-07-30 0:38 ` [PATCH 3/9] raid5: add basic stripe log Shaohua Li
2015-08-05 3:07 ` NeilBrown
2015-08-05 21:19 ` Shaohua Li
2015-08-12 3:20 ` NeilBrown
2015-07-30 0:38 ` [PATCH 4/9] raid5: log reclaim support Shaohua Li
2015-08-05 3:43 ` NeilBrown
2015-08-05 21:34 ` Shaohua Li
2015-08-12 3:50 ` NeilBrown
2015-08-05 3:52 ` NeilBrown
2015-07-30 0:38 ` [PATCH 5/9] raid5: log recovery Shaohua Li
2015-08-05 4:05 ` NeilBrown
2015-08-05 21:39 ` Shaohua Li
2015-08-12 3:51 ` NeilBrown
2015-07-30 0:38 ` [PATCH 6/9] raid5: disable batch with log enabled Shaohua Li
2015-07-30 0:38 ` [PATCH 7/9] raid5: don't allow resize/reshape with cache(log) support Shaohua Li
2015-08-05 4:13 ` NeilBrown
2015-08-05 21:42 ` Shaohua Li
2015-08-12 3:57 ` NeilBrown
2015-07-30 0:38 ` [PATCH 8/9] raid5: enable log for raid array with cache disk Shaohua Li
2015-07-30 0:38 ` [PATCH 9/9] raid5: skip resync if cache(log) is enabled Shaohua Li
2015-08-05 4:16 ` NeilBrown [this message]
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=20150805141657.1f193bc2@noble \
--to=neilb@suse.com \
--cc=Kernel-team@fb.com \
--cc=dan.j.williams@intel.com \
--cc=hch@infradead.org \
--cc=linux-raid@vger.kernel.org \
--cc=shli@fb.com \
--cc=songliubraving@fb.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;
as well as URLs for NNTP newsgroup(s).