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 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.