linux-btrfs.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
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


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