List of steps:
- 3.8G iso lays in read-only subvol A
- I create subvol B and reflink-copy the iso into it.
- I create a read-only snapshot C of B
- I "btrfs send --no-data C > /somefile"
So you got that right, yes.

Unfortunately I don't have any way to connect the drive to a SATA port
directly but I tried to switch out as much of the used setup as
possible (all changes active at the same time):
- I got the original (not the clone) HDD out of the enclosure and used
this adapter to connect it:
https://www.amazon.de/DIGITUS-Adapterkabel-40pol-480Mbps-schwarz/dp/B007X86VZK
- I used a different Notebook
- I ran the test natively on that notebook (instead of from
VirtualBox. I used VirtualBox for most of the tests as I have to
force-poweroff the PC everytime the btrfs-send hangs as it is not
killable)
- That notebook runs Manjaro with "Linux asus 4.14.67-1-MANJARO #1 SMP
PREEMPT Fri Aug 24 16:33:26 UTC 2018 x86_64 GNU/Linux"

Same results. btrfs-send freezes.
Am Fr., 7. Sep. 2018 um 17:44 Uhr schrieb Chris Murphy
<li...@colorremedies.com>:
>
> On Fri, Sep 7, 2018 at 6:47 AM, Stefan Loewen <stefan.loe...@gmail.com> wrote:
> > Well... It seems it's not the hardware.
> > I ran a long SMART check which ran through without errors and
> > reallocation count is still 0.
>
> That only checks the drive, it's an internal test. It doesn't check
> anything else, including connections.
>
> Also you do have a log with a read error and a sector LBA reported. So
> there is a hardware issue, it could just be transient.
>
>
> > So I used clonezilla (partclone.btrfs) to mirror the drive to another
> > drive (same model).
> > Everything copied over just fine. No I/O error im dmesg.
> >
> > The new disk shows the same behavior.
>
> So now I'm suspicious of USB behavior. Like I said earlier, when I've
> got USB enclosed drives connect to my NUC, regardless of file system,
> I routinely get hangs and USB resets. I have to connect all of my USB
> enclosed drives to a good USB hub, or I have problems.
>
>
>
> > So I created another subvolume, reflinked stuff over and found that it
> > is enough to reflink one file, create a read-only snapshot and try to
> > btrfs-send that. It's not happening with every file, but there are
> > definitely multiple different files. The one I tested with is a 3.8GB
> > ISO file.
> > Even better:
> > 'btrfs send --no-data snap-one > /dev/null'
> > (snap-one containing just one iso file) hangs as well.
>
> Do you have a list of steps to make this clear? It sounds like first
> you copy a 3.8G ISO file to one subvolume, then reflink copy it into
> another subvolume, then snapshot that 2nd subvolume, and try to send
> the snapshot? But I want to be clear.
>
> I've got piles of reflinked files in snapshots and they send OK,
> although like I said I do get sometimes a 15-30 second hang during
> sends.
>
> > Still dmesg shows no IO errors, only "INFO: task btrfs-transacti:541
> > blocked for more than 120 seconds." with associated call trace.
> > btrfs-send reads some MB in the beginning, writes a few bytes and then
> > hangs without further IO.
> >
> > copying the same file without --reflink, snapshotting and sending
> > works without problems.
> >
> > I guess that pretty much eleminates bad sectors and points towards
> > some problem with reflinks / btrfs metadata.
>
> That's pretty weird. I'll keep trying and see if I hit this. What
> happens if you downgrade to an older kernel? Either 4.14 or 4.17 or
> both. The send code is mainly in the kernel, where the receive code is
> mainly in user space tools, for this testing you don't need to
> downgrade user space tools. If there's a bug here, I expect it's
> kernel.
>
>
>
>
> --
> Chris Murphy

Reply via email to