From: Duncan <1i5t5.duncan@cox.net>
To: linux-btrfs@vger.kernel.org
Subject: Re: 3.19.6: __btrfs_free_extent:5987: errno=-2 No such entry, did btrfs check --repair break it?
Date: Wed, 6 May 2015 11:04:41 +0000 (UTC) [thread overview]
Message-ID: <pan$a2a67$3e7e2090$a73a1a0d$778571d0@cox.net> (raw)
In-Reply-To: 20150505210209.GG23216@merlins.org
Marc MERLIN posted on Tue, 05 May 2015 14:02:09 -0700 as excerpted:
> Please let me know what I can do for you if anything, before I wipe the
> filesystem and recreate it (I'm assuming that running btrfs check
> --repair a 2nd time won't help).
FWIW... I had a second /similar/ case here, but I didn't report it, as I
thought it related to a relocated-sector count bump I saw on one of the
ssds at about the same time. My case may well have indeed been relocated-
sector-triggered, but reading your case, it's similar enough that I
thought I'd mention it.
Like you I noticed a problem that didn't seem to have too much real-world
effect, in my case, simply an apparently empty directory that would
trigger a "directory not empty" error on attempt to delete. Having read
about others having such problems, I immediately used their solution,
simply rename the directory out of the way, for the time being, after
which it didn't seem to cause any harm, just annoyance as I still
couldn't delete it.
But, with scrub fixing a couple corruptions and further scrubs finding
nothing more, yet I still couldn't delete the dir, again like you, I
decided to try a btrfs check, first read-only, which reported a few
problems (which I didn't save), then with --repair, which /seemed/ to
work just fine.
And finally, like you, a few hours later, actually in my case after a
shutdown and reboot with successful error-free remount... suddenly that
filesystem went read-only!
That's the end of the similarities, but as you can see, they're striking
enough to think it might be the same issue (1) relatively minor initial
problem, (2) btrfs check --repair apparently fixes it, (3) a few hours
later the filesystem goes read-only, and immediate efforts to fix it fail.
What follows is how I recovered...
Well, I have my system on multiple independent btrfs for a reason, and
that was /home, with / a totally independent btrfs mounted read-only by
default, and mounted read-only at the time.
So I quit X and logged out of my normal user, logged in as root at the
CLI, did a systemctl emergency to stop all normal services, and a
umount -a to unmount all filesystems that could unmount.
Then I went to work trying to fix the bad btrfs, still running from the
unaffected read-only /, of course.
Long story short, nothing I tried (mounting with recovery, the new
integrated btrfs rescue zero-log, btrfs check --repair...) seemed to fix
it. =:^( So I got to use the new btrfs-progs v4.0 metadata-restoration
option in btrfs restore, updating my previous btrfs restore experience
from nearly a year ago. =:^)
The good news: btrfs restore worked without having to do the manual find-
root thing, and the metadata-restore options are very nice indeed! I
seem to have gotten my files back, and didn't have to resort to my backup
(which was out of date, but I'd have used it and been happy if I had to,
I just didn't have to). =:^)
The bad news: restore's dry-run option doesn't work well with metadata-
restore, giving metadata unavailable errors on the dry-run that aren't
there on an actual write-it-out restore. Also, the old too many loops on
the same dir warning and abort, no longer affects a write-out run, but
still affects a dry-run. So the dry-run provides /some/ idea what you'll
get, but it's not really an accurate literal dry-run, going thru all the
motions but effectively /dev/nulling the output. =:^(
Also, I guess the symlink restore patch didn't make it in time for progs
4.0. Hopefully for 4.0.1 or at least 4.1... So my symlinks weren't
restored and I still had to recreate them manually. But the experience
was markedly better than last year, since I didn't have to: (1) rerun
restore repeatedly until I no longer got the looping errors, (2) manually
fix ownership/perms.
--
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:[~2015-05-06 11:04 UTC|newest]
Thread overview: 124+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-04-07 16:05 btrfs on 3.14rc5 stuck on "btrfs_tree_read_lock sync" Marc MERLIN
2014-04-07 16:10 ` Josef Bacik
2014-04-07 18:51 ` Marc MERLIN
2014-04-07 19:32 ` Chris Mason
2014-04-07 20:00 ` Marc MERLIN
2014-04-09 17:38 ` Marc MERLIN
2014-03-25 1:49 ` How to debug very very slow file delete? Marc MERLIN
2014-03-25 12:13 ` How to debug very very slow file delete? (btrfs on md-raid5) Martin
2014-03-25 13:57 ` Xavier Nicollet
2014-03-25 16:41 ` Marc MERLIN
2014-04-10 17:07 ` How to debug very very slow file delete? (btrfs on md-raid5 with many files, 70GB metadata) Marc MERLIN
2014-04-11 14:15 ` How to debug very very slow file delete? (btrfs on md-raid5) Chris Samuel
2014-04-11 17:23 ` Marc MERLIN
2014-04-11 18:00 ` Duncan
2014-04-11 19:15 ` Roman Mamedov
2014-04-12 20:25 ` very slow btrfs filesystem: any data needed before I wipe it? Marc MERLIN
2014-04-13 4:02 ` Duncan
2014-04-14 1:43 ` Marc MERLIN
2014-04-14 10:28 ` Duncan
2014-04-16 22:35 ` Marc MERLIN
2014-04-13 14:57 ` Marc MERLIN
2014-04-13 16:59 ` what does your btrfsck look like? Marc MERLIN
2014-04-14 2:15 ` How to debug very very slow file delete? Liu Bo
2014-04-14 2:21 ` Liu Bo
2014-06-09 23:40 ` btrfs balance crash BUG ON fs/btrfs/relocation.c:1062 or RIP build_backref_tree+0x9fc/0xcc4 Marc MERLIN
2014-06-10 0:32 ` Russell Coker
2014-06-10 4:58 ` Marc MERLIN
2014-06-14 16:21 ` Marc MERLIN
2014-06-17 18:29 ` Josef Bacik
2014-06-17 18:55 ` Marc MERLIN
2014-06-18 15:26 ` Josef Bacik
2014-06-18 20:21 ` Marc MERLIN
2014-06-19 16:12 ` Josef Bacik
2014-06-19 22:25 ` Marc MERLIN
2014-06-19 22:50 ` Josef Bacik
2014-06-20 0:53 ` Marc MERLIN
2014-06-20 15:40 ` Josef Bacik
2014-06-25 19:40 ` Marc MERLIN
2014-06-25 21:05 ` Josef Bacik
2015-05-05 21:02 ` 3.19.6: __btrfs_free_extent:5987: errno=-2 No such entry, did btrfs check --repair break it? Marc MERLIN
2015-05-06 11:04 ` Duncan [this message]
2015-05-06 17:25 ` Chris Murphy
2015-05-07 3:15 ` Duncan
2015-05-06 17:49 ` Marc MERLIN
-- strict thread matches above, loose matches on Subject: below --
2014-09-03 17:42 kernel BUG at fs/btrfs/extent-tree.c:7727! with 3.17-rc3 Tomasz Chmielewski
2014-09-03 12:04 ` kernel BUG at fs/btrfs/relocation.c:1065 in 3.14.16 to 3.17-rc3 Olivier Bonvalet
2014-09-29 14:13 ` Liu Bo
[not found] ` <20140824000720.GN3875@merlins.org>
[not found] ` <20140926214821.GX13219@merlins.org>
[not found] ` <20150502141102.GB1809@merlins.org>
[not found] ` <20150501210013.GH13624@merlins.org>
2015-04-29 23:21 ` 3.19.3, btrfs send/receive error: failed to clone extents Marc MERLIN
2015-05-02 16:30 ` 3.19.3: check tree block failed + WARNING: device 0 not present on scrub Marc MERLIN
2015-05-02 16:50 ` Christian Dysthe
2015-05-02 17:05 ` Marc MERLIN
2015-05-02 17:20 ` Christian Dysthe
2015-05-02 17:29 ` Marc MERLIN
2015-05-02 18:56 ` Christian Dysthe
2015-05-05 6:32 ` Marc MERLIN
2015-05-05 19:56 ` 3.19.6: __btrfs_free_extent:5987: errno=-2 No such entry Marc MERLIN
2014-09-08 18:04 ` kernel BUG at fs/btrfs/extent-tree.c:7727! with 3.17-rc3 Tomasz Chmielewski
2014-10-04 1:19 ` Tomasz Chmielewski
2014-04-02 8:29 [PATCH 00/27] Replace the old man page with asciidoc and man page for each btrfs subcommand Qu Wenruo
2014-04-02 8:29 ` [PATCH 01/27] btrfs-progs: Introduce asciidoc based man page and btrfs man page Qu Wenruo
2014-04-02 8:29 ` [PATCH 02/27] btrfs-progs: Convert man page for btrfs-subvolume Qu Wenruo
2014-04-02 8:29 ` [PATCH 03/27] btrfs-progs: Convert man page for filesystem subcommand Qu Wenruo
2014-04-02 8:29 ` [PATCH 04/27] btrfs-progs: Convert man page for btrfs-balance Qu Wenruo
2014-04-02 8:29 ` [PATCH 05/27] btrfs-progs: Convert man page for btrfs-device subcommand Qu Wenruo
2014-04-02 8:29 ` [PATCH 06/27] btrfs-progs: Convert man page for btrfs-scrub Qu Wenruo
2014-04-02 8:29 ` [PATCH 07/27] btrfs-progs: Convert man page for btrfs-check Qu Wenruo
2014-04-02 8:29 ` [PATCH 08/27] btrfs-progs: Convert man page for btrfs-rescue Qu Wenruo
2014-04-02 8:29 ` [PATCH 09/27] btrfs-progs: Convert man page for btrfs-inspect-internal Qu Wenruo
2014-04-02 8:29 ` [PATCH 10/27] btrfs-progs: Convert man page for btrfs-send Qu Wenruo
2014-04-02 8:29 ` [PATCH 11/27] btrfs-progs: Convert man page for btrfs-receive Qu Wenruo
2014-04-02 8:29 ` [PATCH 12/27] btrfs-progs: Convert man page for btrfs-quota Qu Wenruo
2014-04-02 8:29 ` [PATCH 13/27] btrfs-progs: Convert and enhance the man page of btrfs-qgroup Qu Wenruo
2014-04-02 8:29 ` [PATCH 14/27] btrfs-progs: Convert man page for btrfs-replace Qu Wenruo
2014-04-04 20:29 ` Marc MERLIN
2014-04-08 1:20 ` Qu Wenruo
2014-04-02 8:29 ` [PATCH 15/27] btrfs-progs: Convert man page for btrfs-dedup Qu Wenruo
2014-04-02 8:29 ` [PATCH 16/27] btrfs-progs: Convert man page for btrfsck Qu Wenruo
2014-04-02 8:29 ` [PATCH 17/27] btrfs-progs: Convert man page for btrfs-convert Qu Wenruo
2014-04-02 8:29 ` [PATCH 18/27] btrfs-progs: Convert man page for btrfs-debug-tree Qu Wenruo
2014-04-02 8:29 ` [PATCH 19/27] btrfs-progs: Convert man page for btrfs-find-root Qu Wenruo
2014-04-02 8:29 ` [PATCH 20/27] btrfs-progs: Convert man page for btrfs-image Qu Wenruo
2014-04-02 8:29 ` [PATCH 21/27] btrfs-progs: Convert man page for btrfs-map-logical Qu Wenruo
2014-04-02 8:29 ` [PATCH 22/27] btrfs-progs: Convert man page for btrfs-show-super Qu Wenruo
2014-04-02 8:29 ` [PATCH 23/27] btrfs-progs: Convert man page for btrfstune Qu Wenruo
2014-04-02 8:29 ` [PATCH 24/27] btrfs-progs: Convert man page for btrfs-zero-log Qu Wenruo
2014-04-04 18:46 ` Marc MERLIN
2014-04-05 22:00 ` cwillu
2014-04-05 22:02 ` Marc MERLIN
2014-04-05 22:03 ` Hugo Mills
2014-04-05 22:21 ` Marc MERLIN
2014-04-05 22:05 ` Marc MERLIN
2014-04-05 22:02 ` Hugo Mills
2014-04-08 1:42 ` Qu Wenruo
2014-04-11 5:54 ` Marc MERLIN
2014-04-02 8:29 ` [PATCH 25/27] btrfs-progs: Convert man page for fsck.btrfs Qu Wenruo
2014-04-02 8:29 ` [PATCH 26/27] btrfs-progs: Convert man page for mkfs.btrfs Qu Wenruo
2014-04-02 8:29 ` [PATCH 27/27] btrfs-progs: Switch to the new asciidoc Documentation Qu Wenruo
2014-04-02 13:24 ` [PATCH 00/27] Replace the old man page with asciidoc and man page for each btrfs subcommand Chris Mason
2014-04-02 14:47 ` Marc MERLIN
2014-04-03 20:33 ` Zach Brown
2014-04-02 17:29 ` David Sterba
2014-04-16 17:12 ` David Sterba
2014-04-16 17:16 ` [PATCH] btrfs-progs: doc: link btrfsck to btrfs-check David Sterba
2014-04-17 0:47 ` Qu Wenruo
2014-04-18 14:48 ` David Sterba
2014-04-30 12:14 ` WorMzy Tykashi
2014-05-05 14:57 ` David Sterba
2014-05-08 1:40 ` Qu Wenruo
2014-05-12 14:09 ` David Sterba
2014-06-03 9:38 ` WorMzy Tykashi
2014-06-03 12:19 ` David Sterba
2014-05-17 17:43 ` [PATCH 00/27] Replace the old man page with asciidoc and man page for each btrfs subcommand Hugo Mills
2014-05-17 18:22 ` Hugo Mills
2014-05-18 7:04 ` Qu Wenruo
2014-05-18 12:05 ` Hugo Mills
2014-05-18 16:02 ` Brendan Hide
2014-05-19 0:35 ` Qu Wenruo
2014-05-18 6:51 ` Qu Wenruo
2014-05-18 10:10 ` Hugo Mills
2014-05-19 13:02 ` Chris Mason
2014-05-19 14:01 ` David Sterba
2014-05-19 14:33 ` David Sterba
2014-05-20 0:34 ` Qu Wenruo
2014-05-20 11:08 ` David Sterba
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$a2a67$3e7e2090$a73a1a0d$778571d0@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).