From: Saint Germain <saintger@gmail.com>
To: Btrfs BTRFS <linux-btrfs@vger.kernel.org>
Subject: Re: Kernel bug during RAID1 replace
Date: Thu, 30 Jun 2016 23:02:27 +0200 [thread overview]
Message-ID: <20160630230227.4582b5a2@system> (raw)
In-Reply-To: <CAJCQCtRjh6HEdVtkqNv4y-HZhv+deeVZ6J_AK3E1yog-1pswNA@mail.gmail.com>
On Wed, 29 Jun 2016 18:24:07 -0600, Chris Murphy
<lists@colorremedies.com> wrote :
> On Wed, Jun 29, 2016 at 5:51 PM, Saint Germain <saintger@gmail.com>
> wrote:
> > On Wed, 29 Jun 2016 19:23:57 +0000, Hugo Mills <hugo@carfax.org.uk>
> > wrote :
> >
> >> On Wed, Jun 29, 2016 at 09:16:13PM +0200, Saint Germain wrote:
> >> > On Wed, 29 Jun 2016 13:08:30 -0600, Chris Murphy
> >> > <lists@colorremedies.com> wrote :
> >> >
> >> > > >> > Ok I will follow your advice and start over with a fresh
> >> > > >> > BTRFS volume. As explained on another email, rsync doesn't
> >> > > >> > support reflink, so do you think it is worth trying with
> >> > > >> > BTRFS send instead ? Is it safe to copy this way or rsync
> >> > > >> > is more reliable in case of faulty BTRFS volume ?
> >> > > >> >
> >> > > >> If you have the space, btrfs restore would probably be the
> >> > > >> best option. It's not likely, but using send has a risk of
> >> > > >> contaminating the new filesystem as well.
> >> > > >>
> >> > > >
> >> > > > I have to copy through the network (I am running out of
> >> > > > disks...) so btrfs restore is unfortunately not an option.
> >> > > > I didn't know that btrfs send could contaminate the target
> >> > > > disk as well ?
> >> > > > Ok rsync it is then.
> >> > >
> >> > > restore will let you extract files despite csum errors. I don't
> >> > > think send will, and using cp or rsync Btrfs definitely won't
> >> > > hand over the file.
> >> > >
> >> >
> >> > That's Ok I'd prefer to avoid copying files with csum errors
> >> > anyway (I can restore them from backups).
> >> > However will btrfs send abort the whole operation as soon as it
> >> > finds a csum error ?
> >> > And will I have the risk to "contaminate" the target BTRFS
> >> > volume by using BTRFS send ?
> >>
> >> A send stream is effectively just a sequence of filesystem
> >> commands (mv, cp, cp --reflink, rm, dd). So any damage that it can
> >> do when replayed by receive is limited to what you can do with the
> >> basic shell commands (plus cloning extents). If you have metadata
> >> breakage in your source filesystem, this won't cause the same
> >> metadata breakage to show up in the target filesystem.
> >>
> >
> > Well after 300GB copied through "btrfs send", the process is aborted
> > with the following error:
> > ERROR: send ioctl failed with -5: Input/output error
> > ERROR: unexpected EOF in stream.
> >
> > /var/log/syslog relevant lines are appended at the end of this
> > email.
> >
> > So it seems that I will have to go with rsync then.
>
> You'll likely hit the same bad file and get EIO, is my guess. What you
> can do is mount it ro from the get go, and do btrfs send receive again
> and maybe then it won't hit this sequence where it's finding some need
> to clean up a transaction and free an extent. Maybe you still get some
> failure to send whatever file is using that extent, but I think
> receive will tolerate it.
>
Well I tried "btrfs send" and the process stalled at 300 GB (on a total
of 2 TB) with a never ending stream of:
"ERROR: unexpected EOF in stream."
I gave up and launched a rsync which is about to be finished.
Now I have some work to make sure that all rsynced files are consistent
(I have to compared them to the backuped ones).
Thanks for your help, I learned a bit more about BTRFS this way.
next prev parent reply other threads:[~2016-06-30 21:02 UTC|newest]
Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-06-27 21:36 Kernel bug during RAID1 replace Saint Germain
2016-06-27 21:42 ` Chris Murphy
2016-06-27 22:26 ` Saint Germain
2016-06-27 22:55 ` Chris Murphy
2016-06-27 22:58 ` Chris Murphy
2016-06-27 23:06 ` Saint Germain
2016-06-28 0:00 ` Chris Murphy
2016-06-28 0:10 ` Chris Murphy
2016-06-28 0:49 ` Saint Germain
2016-06-28 2:14 ` Chris Murphy
2016-06-28 22:52 ` Saint Germain
2016-06-29 4:25 ` Chris Murphy
2016-06-29 9:50 ` Saint Germain
2016-06-29 17:28 ` Chris Murphy
2016-06-29 18:12 ` Saint Germain
2016-06-29 18:19 ` Austin S. Hemmelgarn
2016-06-29 19:02 ` Saint Germain
2016-06-29 19:08 ` Chris Murphy
2016-06-29 19:16 ` Saint Germain
2016-06-29 19:23 ` Hugo Mills
2016-06-29 23:51 ` Saint Germain
2016-06-30 0:24 ` Chris Murphy
2016-06-30 21:02 ` Saint Germain [this message]
2016-06-30 0:19 ` Chris Murphy
2016-06-29 17:41 ` Saint Germain
2016-06-27 23:03 ` Saint Germain
2016-06-27 23:49 ` Chris Murphy
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=20160630230227.4582b5a2@system \
--to=saintger@gmail.com \
--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).