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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.