From: Duncan <1i5t5.duncan@cox.net>
To: linux-btrfs@vger.kernel.org
Subject: Re: invalid opcode: 0000 [#1] SMP
Date: Wed, 13 Nov 2013 15:03:37 +0000 (UTC) [thread overview]
Message-ID: <pan$d06e7$206fd374$423b51c3$17212f9e@cox.net> (raw)
In-Reply-To: 1384242552.7516.9.camel@hsew-frn.HIPERSCAN
Franziska Näpelt posted on Tue, 12 Nov 2013 08:49:12 +0100 as excerpted:
> we are using a btrfs RAID 1 with four 2TB hard drives (WD Caviar green)
> on a Debian 7.2 with Kernel 3.11.6
>
> Now we had an 'invalid opcode: 0000 [#1] SMP' when a sector fails in
> messages log.
> After that, access over smb and nfs wasn't possible.
> A restart solved the problem of inaccesibility.
A couple notes from a fellow btrfs-using sysadmin...
1) invalid opcode 0000:
As I understand it, this is relatively generic and doesn't define the
error by itself. The 0000 opcode can be viewed as a zero-dereference of
sorts, it's indication of a bug happening earlier, such that an expected
valid opcode ends up being zero. The error itself will be earlier --
this is just where it ends up being trapped.
As to what that error is in this case...
2) btrfs raid1:
Unlike, for example, md/raid1, btrfs raid1 is not at this point run-time
tolerant of device failure. At this point, a btrfs raid1 device failure
seems to make the entire system basically unusable and require a reboot,
after which device/data recovery (for example, mount degraded, add a
replacement device, rebalance, and delete the failed one, or if it was a
temporary dropout, simply btrfs scrub to find and fix the checksum
mismatches from the valid copy) can be initiated, if necessary.
When the sector failed, it apparently triggered the kernel btrfs to drop
the entire device from active, which as I said, isn't well runtime
supported at present, thus causing various btrfs worker threads to go
unresponsive requiring a reboot to get back a normally functioning system.
As the device failure was actually just that single sector failure, on
reboot the device was once again available, and functionality was
restored.
However, if you haven't already done so, I'd strongly recommend doing a
btrfs scrub on the affected filesystem, thus allowing btrfs to find the
bad data copy due to the checksum mismatch and to recover from the good
one it should have, due to the raid1 redundancy, rewriting a new, valid
second copy once again, thereby restoring data redundancy as protection
against the now single valid copy getting corrupted as well.
Meanwhile, if you require runtime stability and failover, I'd suggest md/
raid1 or similar more mature and stable option designed to provide that.
btrfs will hopefully do so at some point, but as the kernel btrfs option
mentions, btrfs is still experimental and features are still being added
and improved, and runtime failover is one such feature btrfs doesn't well
support just yet.
--
Duncan - List replies preferred. No HTML msgs.
"Every nonfree program has a lord, a master --
and if you use the program, he is your master." Richard Stallman
next prev parent reply other threads:[~2013-11-13 15:04 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-11-12 7:49 invalid opcode: 0000 [#1] SMP Franziska Näpelt
2013-11-13 15:03 ` Duncan [this message]
2013-11-13 15:25 ` Hugo Mills
2013-11-15 8:23 ` Franziska Näpelt
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='pan$d06e7$206fd374$423b51c3$17212f9e@cox.net' \
--to=1i5t5.duncan@cox.net \
--cc=linux-btrfs@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).