'zfs recv' hangs when receiving from a FreeBSD zfs
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
zfs-linux (Ubuntu) |
Fix Released
|
Low
|
Colin Ian King |
Bug Description
When creating a pool snapshot on a freenas/freebsd like this:
```
root@freenas:~ # uname -a
FreeBSD freenas.local 11.0-STABLE FreeBSD 11.0-STABLE #0 r321665+
freenas# zpool create tank gptid/62a26be7-
freenas# dd if=/dev/zero of=/tank/ur.bin bs=64K count=1
freenas# zfs snap tank@example
```
And trying to `zfs send | zfs recv` it to an ubuntu zfs like this:
```
space@ubuntu:~$ apt-cache policy zfsutils-linux
zfsutils-linux:
Installed: 0.6.5.11-1ubuntu3
Candidate: 0.6.5.11-1ubuntu3
Version table:
*** 0.6.5.11-1ubuntu3 500
500 http://
100 /var/lib/
space@ubuntu:~$ lsb_release -rd
Description: Ubuntu 17.10
Release: 17.10
root@ubuntu:~$ ssh root@freenas zfs send tank@example > freenas11.zfssend
root@ubuntu:~# cat ./freenas11.zfssend | zfs recv tank/something
```
The `zfs recv` process burns 100% CPU and hangs forever. I have attached an example freenas11.zfssend file, though it's easily reproduced.
ProblemType: Bug
DistroRelease: Ubuntu 17.10
Package: zfsutils-linux 0.6.5.11-1ubuntu3
ProcVersionSign
Uname: Linux 4.13.0-16-generic x86_64
NonfreeKernelMo
ApportVersion: 2.20.7-0ubuntu3
Architecture: amd64
Date: Sun Nov 19 22:10:15 2017
ExecutablePath: /sbin/zfs
InstallationDate: Installed on 2017-11-17 (2 days ago)
InstallationMedia: Ubuntu-Server 17.10 "Artful Aardvark" - Release amd64 (20171017.1)
ProcEnviron:
LANG=en_US.UTF-8
SHELL=/bin/bash
TERM=xterm-
PATH=(custom, no user)
SourcePackage: zfs-linux
UpgradeStatus: No upgrade log present (probably fresh install)
Changed in zfs-linux (Ubuntu): | |
status: | In Progress → Incomplete |
see https:/ /github. com/zfsonlinux/ zfs/pull/ 6616 for the fix in ZFS on Linux 0.7.3 (on the sender side). not yet backported to Open-ZFS, and thus not in FreeBSDs ZFS either.
this is not really a bug in ZFS on the receiver side, it was an accidental break of backwards compatibility.