From: NeilBrown <neilb@suse.de>
To: Andrew Martin <amartin@xes-inc.com>
Cc: linux-raid@vger.kernel.org
Subject: Re: Automatically drop caches after mdadm fails a drive out of an array?
Date: Wed, 12 Feb 2014 06:54:20 +1100 [thread overview]
Message-ID: <20140212065420.4643f9a1@notabene.brown> (raw)
In-Reply-To: <1090802800.32078.1392138664718.JavaMail.zimbra@xes-inc.com>
[-- Attachment #1: Type: text/plain, Size: 2192 bytes --]
On Tue, 11 Feb 2014 11:11:04 -0600 (CST) Andrew Martin <amartin@xes-inc.com>
wrote:
> Hello,
>
> I am running mdadm 3.2.5 on an Ubuntu 12.04 fileserver with a 10-drive RAID6 array (10x1TB). Recently, /dev/sdb started failing:
> Feb 10 13:49:29 myfileserver kernel: [17162220.838256] sas: command 0xffff88010628f600, task 0xffff8800466241c0, timed out: BLK_EH_NOT_HANDLED
>
> Around this same time, a few users attempted to access a directory on this RAID array over CIFS, which they had previously accessed earlier in the day. When they attempted to access it this time, the directory was empty. The emptiness of the folder was confirmed via a local shell on the fileserver, which reported the same information. At around 13:50, mdadm dropped /dev/sdb from the RAID array:
The directory being empty can have nothing to do with the device failure.
md/raid will never let bad data into the page cache in the manner you suggest.
I cannot explain to you what happened, but I'm absolutely certain it wasn't
something that could be fixed by md dropping any caches.
NeilBrown
> Feb 10 13:50:31 myfileserver mdadm[1897]: Fail event detected on md device /dev/md2, component device /dev/sdb
>
> However, it was not until around 14:15 that these files reappeared in the directory. I am guessing that it took this long for the invalid, cached read to be flushed from the kernel buffer cache.
>
> The concern with the above behavior is it leaves a potentially large window of time during which certain data may not be correctly returned from the RAID array. Is it possible for mdadm to automatically flush the kernel buffer cache after it drops a drive from the array:
> sync; echo 3 > /proc/sys/vm/drop_caches
>
> This would have caused the data to have been re-read at 13:50, a much smaller window of time during which invalid data was present in the cache. Or, is there a better suggestion for handling this situation?
>
> Thanks,
>
> Andrew Martin
> --
> To unsubscribe from this list: send the line "unsubscribe linux-raid" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 828 bytes --]
next prev parent reply other threads:[~2014-02-11 19:54 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <1413719638.30344.1392138285471.JavaMail.zimbra@xes-inc.com>
2014-02-11 17:11 ` Automatically drop caches after mdadm fails a drive out of an array? Andrew Martin
2014-02-11 19:54 ` NeilBrown [this message]
2014-02-11 23:10 ` Andrew Martin
2014-02-12 0:11 ` Stan Hoeppner
2014-02-12 14:44 ` Andrew Martin
2014-02-13 8:29 ` Stan Hoeppner
2014-02-13 14:57 ` Andrew Martin
2014-02-13 17:25 ` Mikael Abrahamsson
2014-02-14 4:53 ` Stan Hoeppner
2014-02-14 22:40 ` Andrew Martin
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=20140212065420.4643f9a1@notabene.brown \
--to=neilb@suse.de \
--cc=amartin@xes-inc.com \
--cc=linux-raid@vger.kernel.org \
/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).