From: Wang Shilong <wangsl.fnst@cn.fujitsu.com>
To: Marc MERLIN <marc@merlins.org>
Cc: linux-btrfs@vger.kernel.org
Subject: Re: 3.14.0rc3: did not find backref in send_root
Date: Wed, 26 Feb 2014 15:51:37 +0800 [thread overview]
Message-ID: <530D9D09.8070600@cn.fujitsu.com> (raw)
In-Reply-To: <20140226074603.GA11372@merlins.org>
On 02/26/2014 03:46 PM, Marc MERLIN wrote:
> On Wed, Feb 26, 2014 at 11:38:30AM +0800, Wang Shilong wrote:
>> Hi Marc,
>>
>> On 02/26/2014 01:30 AM, Marc MERLIN wrote:
>>> On Tue, Feb 25, 2014 at 03:50:15PM +0800, Wang Shilong wrote:
>>>> Hi Marc,
>>>>
>>>> This seems a regression which has been fixed by the following
>>>> commit(only pushed into btrfs-next):
>>>>
>>>> https://git.kernel.org/cgit/linux/kernel/git/josef/btrfs-next.git/commit/?id=1334bebe71bebbca47b3b92f25511ea980fdeab8
>>> I'll revert this, thanks.
>>>
>>> Mmmh, but I just found another problem I didn't have before upgrading to 3.14.0-rc3
>>> (on my laptop this time):
>> What is your previous version, give a double check whether the
>> following commit exists:
>>
>> Btrfs: remove transaction from btrfs send(commitid: 41ce9970)
>>
>> This regression should exist in 3.14 Sine chris firstly pull big
>> btrfs request for Linux 3.14.
>>> + btrfs send -p /mnt/btrfs_pool1/var_ro.20140224_14:01:54 var_ro.20140225_09:27:57
>>> + btrfs receive /mnt/btrfs_pool2//
>>> At subvol var_ro.20140225_09:27:57
>>> At snapshot var_ro.20140225_09:27:57
>>> ERROR: send ioctl failed with -5: Input/output error
>>> ERROR: unexpected EOF in stream.
>> Did dmesg output the same things like before?
>>
>> Hm, we can esaily trigger that regression if there is snapshot and
>> send running concurrently.
>> (balance/scrub ...device operations can also trigger send failure.)
> So I was confused because I got this on my server:
> On Mon, Feb 24, 2014 at 10:36:52PM -0800, Marc MERLIN wrote:
>> I got this during a btrfs send:
>> BTRFS error (device dm-2): did not find backref in send_root. inode=22672, offset=524288, disk_byte=1490517954560 found extent=1490517954560
> and that on my laptop:
> [82841.563339] BTRFS info (device dm-0): csum failed ino 2590 extent 2397949952 csum 3100992190 wanted 2786811954 mirror 0
>
> I've applied your patch from
> https://git.kernel.org/cgit/linux/kernel/git/josef/btrfs-next.git/commit/?id=1334bebe71bebbca47b3b92f25511ea980fdeab8
>
> legolas:/mnt/btrfs_pool1# bash -vx /var/local/scr/btrfs-subvolume-backup -k 5 var /mnt/btrfs_pool2/
>
> still failed on my laptop
> + btrfs send -p /mnt/btrfs_pool1/var_ro.20140224_14:01:54 var_ro.20140225_23:28:47
> + btrfs receive /mnt/btrfs_pool2//
> At subvol var_ro.20140225_23:28:47
> At snapshot var_ro.20140225_23:28:47
> ERROR: send ioctl failed with -5: Input/output error
> ERROR: unexpected EOF in stream.
> [ 216.534313] BTRFS info (device dm-0): csum failed ino 2326136 off 192512 csum 3851586574 expected csum 1402824092
>
> Then again, this seems to be my problem on the laptop:
> legolas:/mnt/btrfs_pool1# btrfs scrub status /mnt/btrfs_pool1
> scrub status for 4850ee22-bf32-4131-a841-02abdb4a5ba6
> scrub started at Tue Feb 25 07:35:07 2014 and finished after 1945 seconds
> total bytes scrubbed: 451.64GiB with 2 errors
> error details: csum=2
> corrected errors: 0, uncorrectable errors: 2, unverified errors: 0
>
> Ok, so that's not a btrfs send problem.
> Just out of curiosity, how do I find out which inodes are compromized so
> that I can delete/restore them?
You can use command "btrfs inspect-internal inode-resolve" which will
print inode's
corresponding path with it's inode id.
For your case, something like this:
btrfs inspect-internal inode-resolve -v 2326135 /mnt/btrfs_pool1
Thanks,
Wang
>
> Back to my server, I installed the new kernel, and I'm testing send
> again. So far it hasn't failed, so there is a chance the patch fixed the
> problem, but I'll only know more tomorrow after it's run longer.
>
> Thanks,
> Marc
next prev parent reply other threads:[~2014-02-26 7:53 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-02-25 6:36 3.14.0rc3: did not find backref in send_root Marc MERLIN
2014-02-25 7:50 ` Wang Shilong
2014-02-25 17:30 ` 3.14.0rc3: btrfs send ioctl failed with -5: Input/output error Marc MERLIN
2014-02-26 3:38 ` Wang Shilong
2014-02-26 7:46 ` 3.14.0rc3: did not find backref in send_root Marc MERLIN
2014-02-26 7:51 ` Wang Shilong [this message]
2014-02-26 17:16 ` Marc MERLIN
2014-05-06 6:10 ` David Brown
2014-05-06 6:49 ` Blaz Repas
2014-05-10 8:13 ` David Brown
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=530D9D09.8070600@cn.fujitsu.com \
--to=wangsl.fnst@cn.fujitsu.com \
--cc=linux-btrfs@vger.kernel.org \
--cc=marc@merlins.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).