Skip to contentSkip to conversation

`btrfsck: extent_io.c:612: free_extent_buffer: Assertion `!(eb->flags & 1)' failed.` in `btrfsck`

DISCUSSION Karl-Philipp Richter 2 participants 3 messages Jul 18, 2014 – Jul 21, 2014 Btrfs file system

lore
Share & tools
lore
#0 lore raw

Hi together,
I'm experiencing the following issues when I invoke btrfsck on a sparse file image with a GPT and one (the only) btrfs partition attached to a loop device

    $ sudo btrfsck --repair --init-csum-tree --init-extent-tree -b
/dev/loop0p1
    Incorrect local backref count on 128510738432 root 5 owner 3849475
offset 0 found 1 wanted 0 back 0xbab41270
    backpointer mismatch on [128510738432 4096]
    ref mismatch on [128510742528 12288] extent item 0, found 1
    btrfsck: extent_io.c:612: free_extent_buffer: Assertion `!(eb->flags
& 1)' failed.
    $ sudo btrfsck --repair --init-csum-tree --init-extent-tree /dev/loop0p1
    Incorrect local backref count on 128510726144 root 5 owner 3849470
offset 0 found 1 wanted 0 back 0xbbcb9500
    backpointer mismatch on [128510726144 12288]
    ref mismatch on [128510738432 4096] extent item 0, found 1
    adding new data backref on 128510738432 root 5 owner 3849475 offset
0 found 1
    Backref 128510738432 root 5 owner 3849475 offset 0 num_refs 0 not
found in extent tree
    Incorrect local backref count on 128510738432 root 5 owner 3849475
offset 0 found 1 wanted 0 back 0xbbcb9630
    backpointer mismatch on [128510738432 4096]
    ref mismatch on [128510742528 12288] extent item 0, found 1
    btrfsck: extent_io.c:612: free_extent_buffer: Assertion `!(eb->flags
& 1)' failed.
    $ sudo btrfsck --repair /dev/loop0p1
    Incorrect local backref count on 130861096960 root 5 owner 22733727
offset 0 found 1 wanted 0 back 0xc7c7d170
    backpointer mismatch on [130861096960 8192]
    ref mismatch on [130861105152 8192] extent item 0, found 1
    btrfsck: extent_io.c:612: free_extent_buffer: Assertion `!(eb->flags
& 1)' failed.
    $ sudo btrfsck --repair /dev/loop0p1
    Backref 130861096960 root 5 owner 22733727 offset 0 num_refs 0 not
found in extent tree
    Incorrect local backref count on 130861096960 root 5 owner 22733727
offset 0 found 1 wanted 0 back 0xc7f31170
    backpointer mismatch on [130861096960 8192]
    ref mismatch on [130861105152 8192] extent item 0, found 1
    btrfsck: extent_io.c:612: free_extent_buffer: Assertion `!(eb->flags
& 1)' failed.

I'm using btrfs-progs 24cf4d8c3ee924b474f68514e0167cc2e602a48d on Linux 3.16-rc5 (anything else, i.e. older versions, give me immediate error after start because errornous file system)

I'd like to know whether this (assertion) error is related to a bug or missing feature in btrfs-progs and might be fixed at some point or whether this might indicate a completely messed up btrfs.

Best regards,
Karl-P. Richter

#1 lore raw

Hi,

There are some patches for fsck flighting, they are integrated in David's branches. You can pull from David's latest branch, and see if it helps:

https://github.com/kdave/btrfs-progs integration-20140704

Have a try and see if it helps anyway.

Thanks,
Wang

Quoted 59 lines

Hi together,
I'm experiencing the following issues when I invoke btrfsck on a sparse file image with a GPT and one (the only) btrfs partition attached to a loop device

   $ sudo btrfsck --repair --init-csum-tree --init-extent-tree -b
/dev/loop0p1
   Incorrect local backref count on 128510738432 root 5 owner 3849475
offset 0 found 1 wanted 0 back 0xbab41270
   backpointer mismatch on [128510738432 4096]
   ref mismatch on [128510742528 12288] extent item 0, found 1
   btrfsck: extent_io.c:612: free_extent_buffer: Assertion `!(eb->flags
& 1)' failed.
   $ sudo btrfsck --repair --init-csum-tree --init-extent-tree /dev/loop0p1
   Incorrect local backref count on 128510726144 root 5 owner 3849470
offset 0 found 1 wanted 0 back 0xbbcb9500
   backpointer mismatch on [128510726144 12288]
   ref mismatch on [128510738432 4096] extent item 0, found 1
   adding new data backref on 128510738432 root 5 owner 3849475 offset
0 found 1
   Backref 128510738432 root 5 owner 3849475 offset 0 num_refs 0 not
found in extent tree
   Incorrect local backref count on 128510738432 root 5 owner 3849475
offset 0 found 1 wanted 0 back 0xbbcb9630
   backpointer mismatch on [128510738432 4096]
   ref mismatch on [128510742528 12288] extent item 0, found 1
   btrfsck: extent_io.c:612: free_extent_buffer: Assertion `!(eb->flags
& 1)' failed.
   $ sudo btrfsck --repair /dev/loop0p1
   Incorrect local backref count on 130861096960 root 5 owner 22733727
offset 0 found 1 wanted 0 back 0xc7c7d170
   backpointer mismatch on [130861096960 8192]
   ref mismatch on [130861105152 8192] extent item 0, found 1
   btrfsck: extent_io.c:612: free_extent_buffer: Assertion `!(eb->flags
& 1)' failed.
   $ sudo btrfsck --repair /dev/loop0p1
   Backref 130861096960 root 5 owner 22733727 offset 0 num_refs 0 not
found in extent tree
   Incorrect local backref count on 130861096960 root 5 owner 22733727
offset 0 found 1 wanted 0 back 0xc7f31170
   backpointer mismatch on [130861096960 8192]
   ref mismatch on [130861105152 8192] extent item 0, found 1
   btrfsck: extent_io.c:612: free_extent_buffer: Assertion `!(eb->flags
& 1)' failed.

I'm using btrfs-progs 24cf4d8c3ee924b474f68514e0167cc2e602a48d on Linux 3.16-rc5 (anything else, i.e. older versions, give me immediate error after start because errornous file system)

I'd like to know whether this (assertion) error is related to a bug or missing feature in btrfs-progs and might be fixed at some point or whether this might indicate a completely messed up btrfs.

Best regards,
Karl-P. Richter

#2 lore raw

Hi,
I could btrfsck --repair the sparse file with Linux 3.15.6-utopic from
http://kernel.ubuntu.com/~kernel-ppa/mainline/ and btrfsck 3.12-1 (from btrfs-tools package in Ubuntu 14.04).

Thanks for your hints, Wang!

All the best,
Karl

Am 18.07.2014 14:13, schrieb Wang Shilong:

Quoted 73 lines

Hi,

There are some patches for fsck flighting, they are integrated in David's branches. You can pull from David's latest branch, and see if it helps:

https://github.com/kdave/btrfs-progs integration-20140704

Have a try and see if it helps anyway.

Thanks,
Wang

Quoted 59 lines

Hi together,
I'm experiencing the following issues when I invoke btrfsck on a sparse file image with a GPT and one (the only) btrfs partition attached to a loop device

   $ sudo btrfsck --repair --init-csum-tree --init-extent-tree -b
/dev/loop0p1
   Incorrect local backref count on 128510738432 root 5 owner 3849475
offset 0 found 1 wanted 0 back 0xbab41270
   backpointer mismatch on [128510738432 4096]
   ref mismatch on [128510742528 12288] extent item 0, found 1
   btrfsck: extent_io.c:612: free_extent_buffer: Assertion `!(eb->flags
& 1)' failed.
   $ sudo btrfsck --repair --init-csum-tree --init-extent-tree /dev/loop0p1
   Incorrect local backref count on 128510726144 root 5 owner 3849470
offset 0 found 1 wanted 0 back 0xbbcb9500
   backpointer mismatch on [128510726144 12288]
   ref mismatch on [128510738432 4096] extent item 0, found 1
   adding new data backref on 128510738432 root 5 owner 3849475 offset
0 found 1
   Backref 128510738432 root 5 owner 3849475 offset 0 num_refs 0 not
found in extent tree
   Incorrect local backref count on 128510738432 root 5 owner 3849475
offset 0 found 1 wanted 0 back 0xbbcb9630
   backpointer mismatch on [128510738432 4096]
   ref mismatch on [128510742528 12288] extent item 0, found 1
   btrfsck: extent_io.c:612: free_extent_buffer: Assertion `!(eb->flags
& 1)' failed.
   $ sudo btrfsck --repair /dev/loop0p1
   Incorrect local backref count on 130861096960 root 5 owner 22733727
offset 0 found 1 wanted 0 back 0xc7c7d170
   backpointer mismatch on [130861096960 8192]
   ref mismatch on [130861105152 8192] extent item 0, found 1
   btrfsck: extent_io.c:612: free_extent_buffer: Assertion `!(eb->flags
& 1)' failed.
   $ sudo btrfsck --repair /dev/loop0p1
   Backref 130861096960 root 5 owner 22733727 offset 0 num_refs 0 not
found in extent tree
   Incorrect local backref count on 130861096960 root 5 owner 22733727
offset 0 found 1 wanted 0 back 0xc7f31170
   backpointer mismatch on [130861096960 8192]
   ref mismatch on [130861105152 8192] extent item 0, found 1
   btrfsck: extent_io.c:612: free_extent_buffer: Assertion `!(eb->flags
& 1)' failed.

I'm using btrfs-progs 24cf4d8c3ee924b474f68514e0167cc2e602a48d on Linux 3.16-rc5 (anything else, i.e. older versions, give me immediate error after start because errornous file system)

I'd like to know whether this (assertion) error is related to a bug or missing feature in btrfs-progs and might be fixed at some point or whether this might indicate a completely messed up btrfs.

Best regards,
Karl-P. Richter