* Btrfsck complains about "fs tree 264 refs 1 not found"
@ 2013-11-20 15:22 Pedro Fonseca
2013-11-20 17:29 ` Duncan
0 siblings, 1 reply; 2+ messages in thread
From: Pedro Fonseca @ 2013-11-20 15:22 UTC (permalink / raw)
To: linux-btrfs
Hi,
I've been getting the error message "fs tree 264 refs 1 not found" when
running btrfsck (v0.19) after a test case. The test case creates and
then deletes a subvolume while concurrently creating a snapshot of the
parent directory. This situation occurred with kernel version 3.11.1.
Here's one of the interleavings that triggers the "not found" message:
> CPU: 0 Op: write
> CPU: 1 Op: btrfs_subvol_delete ("d16", fail)
> CPU: 1 Op: write
> CPU: 1 Op: btrfs_subvol_create ("d16/d13b", success)
> CPU: 0 Op: btrfs_subvol_snapshot ("d16" to
> "d16/d21/d6d/d74/d101/d13d", success)
> CPU: 1 Op: link
> CPU: 1 Op: creat
> CPU: 1 Op: btrfs_subvol_delete ("d16/d13b", success)
> CPU: 1 Op: read
> CPU: 0 Op: dread
> CPU: 0 Op: creat
Another example that also triggered the message:
> CPU: 0 Op: dread
> CPU: 0 Op: write
> CPU: 0 Op: btrfs_subvol_snapshot ("d16" to
> "d16/d21/d6d/d74/d101/d13d", success)
> CPU: 1 Op: btrfs_subvol_delete ("d16", fail)
> CPU: 1 Op: write
> CPU: 1 Op: btrfs_subvol_create ("d16/d13b", success)
> CPU: 0 Op: dread
> CPU: 0 Op: creat
> CPU: 1 Op: link
> CPU: 1 Op: creat
> CPU: 1 Op: btrfs_subvol_delete ("d16/d13b", success)
> CPU: 1 Op: read
In this case, "btrfs_subvol_snapshot" overlapped with the
"btrfs_subvol_create" operation but it did not overlap with the second
"btrfs_subvol_delete".
Btrfsck output (after unmounting the FS):
> fs tree 257 refs 5
> unresolved ref root 258 dir 256 index 10 namelen 3 name d21
> error 600
> unresolved ref root 262 dir 256 index 10 namelen 3 name d21
> error 600
> unresolved ref root 263 dir 256 index 10 namelen 3 name d21
> error 600
> unresolved ref root 265 dir 256 index 10 namelen 3 name d21
> error 600
> fs tree 262 refs 3
> unresolved ref root 263 dir 256 index 39 namelen 3 name da6
> error 600
> unresolved ref root 265 dir 256 index 39 namelen 3 name da6
> error 600
> fs tree 263 refs 2
> unresolved ref root 265 dir 256 index 43 namelen 3 name dce
> error 600
> fs tree 264 refs 1 not found
> unresolved ref root 265 dir 256 index 56 namelen 4 name d13b
> error 600
> found 9924608 bytes used err is 1
> total csum bytes: 9208
> total tree bytes: 495616
> total fs tree bytes: 417792
> btree space waste bytes: 153475
> file data blocks allocated: 12365824
> referenced 11440128
> btrfsck: Btrfs Btrfs v0.19
Let me know if you need more information.
Pedro
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: Btrfsck complains about "fs tree 264 refs 1 not found"
2013-11-20 15:22 Btrfsck complains about "fs tree 264 refs 1 not found" Pedro Fonseca
@ 2013-11-20 17:29 ` Duncan
0 siblings, 0 replies; 2+ messages in thread
From: Duncan @ 2013-11-20 17:29 UTC (permalink / raw)
To: linux-btrfs
Pedro Fonseca posted on Wed, 20 Nov 2013 16:22:18 +0100 as excerpted:
> I've been getting the error message "fs tree 264 refs 1 not found" when
> running btrfsck (v0.19) after a test case. The test case creates and
> then deletes a subvolume while concurrently creating a snapshot of the
> parent directory. This situation occurred with kernel version 3.11.1.
Well, at least you're running a reasonably current kernel (tho 3.12 is
out and IIRC it was 3.11.5 that contained some critical btrfs patches
that 3.11.1 is missing), but quoting the wiki FAQ on btrfs 0.19:
https://btrfs.wiki.kernel.org/index.php/FAQ#I.27m_running_btrfs_0.19...
>>>>
I'm running btrfs 0.19...
This is, unfortunately, almost meaningless. Almost all of the
"interesting" code in btrfs is in the kernel, so the main thing you
should be reporting is the version of the kernel you're running.
Even if you want to report a problem with the btrfs userspace tools, the
main version number (which is usually 0.19) is useless, because it hasn't
been updated in at least 18 months. If you have installed from your
distribution's package manager, then the version number of the package
will usually include a date that will indicate when your btrfs tools were
compiled; it is this package version that you should tell people about if
you have a problem. If you have built your btrfs-progs tools from git,
please tell us what git commit ID was the head when you built your tools.
A recent version of the btrfs-progs tools should report the commit ID as
part of the version number when you run them:
hrm@ruthven:~ $ btrfs --help
Usage:
[...]
Btrfs v0.19-116-g13eced9
^^^^^^^^ this is the git commit ID
<<<<
Further, quoting the getting started page:
https://btrfs.wiki.kernel.org/index.php/Getting_started
>>>>
btrfs is a fast-moving target. There are typically a great many bug fixes
and enhancements between one kernel release and the next. Therefore:
If you have btrfs filesystems, run the latest kernel.
If you are running a kernel two or more versions behind the latest one
available from kernel.org, the first thing you will be asked to when you
report a problem is to upgrade to the latest kernel. Some distributions
keep backports of recent kernels to earlier releases -- see the page
below for details.
Having the latest user-space tools are also useful, as they contain
additional features and tools which may be of use in debugging or
recovering your filesystem if something goes wrong.
Note also that btrfs is still considered experimental. While many people
use it reliably, there are still problems being found.
You should keep and test backups of your data, and be prepared to use
them.
<<<<
FWIW, my btrfs-progs version built from git a few days ago:
Btrfs v0.20-rc1-596-ge9ac73b
Basically, btrfs-progs development happens in branches, with branches
pulled to master only when they're considered ready, so master branch
head is considered the reference for btrfs testing. If you're behind
that and can't name a specific bug regression as your reason, you're
behind.
And as I said, kernel 3.11.1 is not only behind in general (tho still
within the two releases guideline above so it's not /horribly/ behind
yet), it's known to be lacking a couple critical patches found in 3.12
and later 3.11.x stable series.
So testing is good, but please update to current and see if the problem
remains. =:^)
--
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
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2013-11-20 17:30 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-11-20 15:22 Btrfsck complains about "fs tree 264 refs 1 not found" Pedro Fonseca
2013-11-20 17:29 ` Duncan
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).