zfs send/recv invalid data
Larry Rosenman
ler at lerctr.org
Fri Mar 8 04:47:22 UTC 2013
On 2013-03-07 13:08, Steven Hartland wrote:
> ----- Original Message ----- From: "Larry Rosenman" <ler at lerctr.org>
> To: "Steven Hartland" <killing at multiplay.co.uk>
> Cc: "Martin Simmons" <martin at lispworks.com>;
> <tevans.uk at googlemail.com>; <freebsd-fs at freebsd.org>;
> <ronald-freebsd8 at klop.yi.org>
> Sent: Thursday, March 07, 2013 1:14 AM
> Subject: Re: zfs send/recv invalid data
>
>
>> On 2013-03-06 17:48, Steven Hartland wrote:
>>> ----- Original Message ----- From: "Larry Rosenman" <ler at lerctr.org>
>>> To: "Steven Hartland" <killing at multiplay.co.uk>
>>> Cc: "Martin Simmons" <martin at lispworks.com>;
>>> <tevans.uk at googlemail.com>; <freebsd-fs at freebsd.org>;
>>> <ronald-freebsd8 at klop.yi.org>
>>> Sent: Wednesday, March 06, 2013 11:16 PM
>>> Subject: Re: zfs send/recv invalid data
>>>
>>>
>>>> On 2013-03-06 17:00, Steven Hartland wrote:
>>>>> ----- Original Message ----- From: "Larry Rosenman"
>>>>> <ler at lerctr.org>
>>>>>> # cat send.stream | ssh root at home openssl md5
>>>>>> (stdin)= 9cd1d73ea8411f1c222bc90e7bea3d33
>>>>>> # uname -a
>>>>>> FreeBSD thebighonker.lerctr.org 8.3-STABLE FreeBSD 8.3-STABLE #54
>>>>>> r247820: Mon Mar 4 18:08:11 CST 2013
>>>>>> root at thebighonker.lerctr.org:/usr/obj/usr/src/sys/THEBIGHONKER
>>>>>> amd64
>>>>>> #
>>>>>> # exec csh
>>>>>> root at borg:/home/ler # pwd
>>>>>> /home/ler
>>>>>> root at borg:/home/ler # ssh tbh "cat
>>>>>> /home/ler/public_html/ZFS_RECV/send.stream | ssh
>>>>>> root at home.lerctr.org openssl md5"
>>>>>> (stdin)= 9cd1d73ea8411f1c222bc90e7bea3d33
>>>>>> root at borg:/home/ler # uname -a
>>>>>> FreeBSD borg.lerctr.org 10.0-CURRENT FreeBSD 10.0-CURRENT #124
>>>>>> r247826: Mon Mar 4 19:59:08 CST 2013
>>>>>> root at borg.lerctr.org:/usr/obj/usr/src/sys/BORG-DTRACE amd64
>>>>>> root at borg:/home/ler #
>>>>> When you run a command from ssh it will run as the target users
>>>>> shell
>>>>> so for csh if there is something bad in .cshrc or iirc .profile
>>>>> then
>>>>> you may get something output purely by logging in.
>>>>> So ensure you shell config's for the user on the target machine
>>>>> are
>>>>> clean.
>>>>> You can confirm this by comparing the output from the following
>>>>> two commands run from the sending machine:-
>>>>> md5 send.stream
>>>>> cat send.stream | ssh root at home.lerctr.org "cat" |md5
>>>>> If these two commands produce different md5's then the login
>>>>> shell for root on home.lerctr.org is outputing something
>>>>> even when there is no terminal.
>>>>> You should be able to see what the shell is outputting using:-
>>>>> echo -n '' | ssh root at home.lerctr.org "cat" > 1.log
>>>>> After running this 1.log should be 0 bytes if its not your
>>>>> shell is definitely your problem and I'd start by looking
>>>>> at .cshrc and .profile for this user, or even the globals
>>>>> for these in /etc/
>>>>>
>>>> I've done that, and get identical md5's.....
>>>> I'm at a loss.
>>> I believe what you ran was similar but not identical, if you
>>> check the quoting subtly different.
>>> I'm not sure that will have any effect but both of the above
>>> are worth running just to confirm.
>>> Regards
>>> Steve
>> $ ^DConnection to thebighonker.lerctr.org closed.
>> $ ssh root at tbh
>> Last login: Tue Mar 5 06:51:46 2013 from cpe-72-182-19-1
>> FreeBSD 8.3-STABLE (THEBIGHONKER) #54 r247820: Mon Mar 4 18:08:11
>> CST 2013
>> Welcome to FreeBSD!
>> root at thebighonker:~ # pwd
>> /root
>> root at thebighonker:~ # md5 /home/ler/public_html/ZFS_RECV/send
>> send-file-snap-list send.stream send.uname
>> root at thebighonker:~ # md5 /home/ler/public_html/ZFS_RECV/send.stream
>> MD5 (/home/ler/public_html/ZFS_RECV/send.stream) =
>> 9cd1d73ea8411f1c222bc90e7bea3d33
>> root at thebighonker:~ # cat /home/ler/public_html/ZFS_RECV/send.stream
>> |ssh root at home.lerctr.org "cat"|md5
>> 9cd1d73ea8411f1c222bc90e7bea3d33
>> root at thebighonker:~ #
>>
>> looks like it's clean.....
>
> So to summarise, just to make sure I've got everything clear so far:-
> 1. sending the stream over ssh from the source -> target results in
> the same md5 (from the test above)
yes
> 2. sending the stream over ssh from source -> target piped into
> zfs recv fails
yes, sometimes now (I need to see what happens from cron(8) tonight)
> 3. scp'ing the stream file from the source to the target and then
> importing it via zfs recv works
>
yes
> Yes / No?
>
> If so this is very strange indeed.
>
> I'd like to confirm that adding the zfs recv to the picture isn't
> changing
> the dynamic such that the stdin results are changing and thus
> eliminating
> ssh as the source of any corruption to do this can you test:-
> md5 send.stream
> cat send.stream | ssh root at home.lerctr.org "tee tea.stream | zfs recv
> <flags>"
> ssh root at home.lerctr.org "md5 tea.stream"
>
Will try this with tonights stream(s) if it fails.
appreciate.....
> Regards
> Steve
>
> ================================================
> This e.mail is private and confidential between Multiplay (UK) Ltd.
> and the person or entity to whom it is addressed. In the event of
> misdirection, the recipient is prohibited from using, copying,
> printing or otherwise disseminating it or any information contained in
> it.
>
> In the event of misdirection, illegible or incomplete transmission
> please telephone +44 845 868 1337
> or return the E.mail to postmaster at multiplay.co.uk.
--
Larry Rosenman http://www.lerctr.org/~ler
Phone: +1 214-642-9640 (c) E-Mail: ler at lerctr.org
US Mail: 430 Valona Loop, Round Rock, TX 78681-3893
More information about the freebsd-fs
mailing list