Discussion:
HEADS UP: Solaris 10 Update 11 "zfs send" incompatible
(too old to reply)
Jesus Cea
2013-03-15 16:15:17 UTC
Permalink
I just upgraded a server to Solaris 10 Update 11. It provides ZPOOL
versión 32.

The ZPOOL on this server is still ZPOOL 29. I didn't upgrade it
because I want to be able to go back to Solaris 10 Update 10 if I find
any kind of issue.

Last week I was able to receive a "zfs send" from this server (ZPOOL
29) into an Ubuntu 12.04 with current ZFS port. No problem.

After upgrading the source server to Solaris10u11, I get this error:

"""
sending from @ to datos/backups/***@20110916-22:02
cannot receive: stream has unsupported feature, feature flags = 24
"""

I can reproduce this issue every time.

Remember, I DIDN'T upgraded the zpool yet.

Running "zfs send" command from an old snapshot
("/.zfs/snapshot/20120701-15:10/sbin/zfs") didn't work, even trying to
use the old "libzfs" (in the snapshot). The error I get is:

"""
[...]
cannot hold 'datos/backups/***@20130315-13:08': operation not
applicable to datasets of this type
"""

I reboot the machine (it is a backup server) to boot it with Solaris
10 Update 10 (god blesses "Live Upgrade"), and now I can transfer the
"zfs send" again, without any issue.

Remember, I didn't upgrade the ZPOOL yet to version 32. I am still in
version 29.

So, BEWARE!!!.

- --
Jesús Cea Avión _/_/ _/_/_/ _/_/_/
jcea-***@public.gmane.org - http://www.jcea.es/ _/_/ _/_/ _/_/ _/_/ _/_/
Twitter: @jcea _/_/ _/_/ _/_/_/_/_/
jabber / xmpp:jcea-/eSpBmjxGS4dnm+***@public.gmane.org _/_/ _/_/ _/_/ _/_/ _/_/
"Things are not so easy" _/_/ _/_/ _/_/ _/_/ _/_/ _/_/
"My name is Dump, Core Dump" _/_/_/ _/_/_/ _/_/ _/_/
"El amor es poner tu felicidad en la felicidad de otro" - Leibniz
Matthew Ahrens
2013-03-15 16:55:22 UTC
Permalink
X-Received: by 10.112.102.135 with SMTP id fo7mr984530lbb.4.1363366524578;
Fri, 15 Mar 2013 09:55:24 -0700 (PDT)
X-BeenThere: zfs-discuss-VKpPRiiRko4/***@public.gmane.org
Received: by 10.152.113.165 with SMTP id iz5ls33256lab.86.gmail; Fri, 15 Mar
2013 09:55:23 -0700 (PDT)
X-Received: by 10.152.132.36 with SMTP id or4mr6437083lab.8.1363366523153;
Fri, 15 Mar 2013 09:55:23 -0700 (PDT)
Received: from mail-la0-x236.google.com ([2a00:1450:4010:c03::236])
by mx.google.com with ESMTPS id fx2si2914528lbb.190.2013.03.15.09.55.23
(version=TLSv1 cipherìDHE-RSA-RC4-SHA bits8/128);
Fri, 15 Mar 2013 09:55:23 -0700 (PDT)
Received-SPF: pass (google.com: domain of matthew.ahrens-IrO+***@public.gmane.org designates 2a00:1450:4010:c03::236 as permitted sender) client-ip*00:1450:4010:c03::236;
Received: by mail-la0-f54.google.com with SMTP id gw10so4031466lab.27
for <zfs-discuss-VKpPRiiRko4/***@public.gmane.org>; Fri, 15 Mar 2013 09:55:23 -0700 (PDT)
X-Received: by 10.112.103.168 with SMTP id fx8mr2925522lbb.32.1363366522742;
Fri, 15 Mar 2013 09:55:22 -0700 (PDT)
Received: by 10.114.2.206 with HTTP; Fri, 15 Mar 2013 09:55:22 -0700 (PDT)
In-Reply-To: <51434915.7050801-***@public.gmane.org>
X-Gm-Message-State: ALoCoQlAC0TLG/S7EwmNcwff2GvOMD5h9wSbtu0KtX7ZxLO2lziA/hISCjfAMEe0bfaWLrGs2ht9
X-Original-Sender: mahrens-IrO+***@public.gmane.org
X-Original-Authentication-Results: mx.google.com; spf=pass (google.com:
domain of matthew.ahrens-IrO+***@public.gmane.org designates 2a00:1450:4010:c03::236 as
permitted sender) smtp.mail=matthew.ahrens-IrO+***@public.gmane.org; dkim=pass header.i=@delphix.com
Precedence: list
Mailing-list: list zfs-discuss-VKpPRiiRko4/***@public.gmane.org; contact zfs-discuss+owners-VKpPRiiRko4/***@public.gmane.org
List-ID: <zfs-discuss.zfsonlinux.org>
X-Google-Group-Id: 321364807731
List-Post: <http://groups.google.com/a/zfsonlinux.org/group/zfs-discuss/post?hl=en_US>,
<mailto:zfs-discuss-VKpPRiiRko4/***@public.gmane.org>
List-Help: <http://support.google.com/a/zfsonlinux.org/bin/topic.py?hl=en_US&topic%838>,
<mailto:zfs-discuss+help-VKpPRiiRko4/***@public.gmane.org>
List-Archive: <http://groups.google.com/a/zfsonlinux.org/group/zfs-discuss/?hl=en_US>
List-Subscribe: <http://groups.google.com/a/zfsonlinux.org/group/zfs-discuss/subscribe?hl=en_US>,
<mailto:zfs-discuss+subscribe-VKpPRiiRko4/***@public.gmane.org>
List-Unsubscribe: <http://groups.google.com/a/zfsonlinux.org/group/zfs-discuss/subscribe?hl=en_US>,
<mailto:googlegroups-manage+321364807731+unsubscribe-/***@public.gmane.org>
Archived-At: <http://permalink.gmane.org/gmane.linux.file-systems.zfs.user/7292>

The zpool version should have no impact on the ability to receive send
streams. What is critical is the zfs version, and the flags provided
to "zfs send". The error you got indicates that some unknown flags
(0x10 and 0x8) are set in the send streams features. Usually
additional flags would not be set unless explicitly requested.

What version is the filesystem you are sending ("zfs get version
<***@snap>"), and what arguments did you pass to "zfs send"? If you
aren't using any newer filesystem version or new flags to zfs send, I
would consider it a bug that you can't receive. You should reproduce
this by attempting to send from s10u11 to an older version of solaris
(s10u10?), and report the bug to Oracle.

--matt
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
I just upgraded a server to Solaris 10 Update 11. It provides ZPOOL
versión 32.
The ZPOOL on this server is still ZPOOL 29. I didn't upgrade it
because I want to be able to go back to Solaris 10 Update 10 if I find
any kind of issue.
Last week I was able to receive a "zfs send" from this server (ZPOOL
29) into an Ubuntu 12.04 with current ZFS port. No problem.
"""
cannot receive: stream has unsupported feature, feature flags = 24
"""
I can reproduce this issue every time.
Remember, I DIDN'T upgraded the zpool yet.
Running "zfs send" command from an old snapshot
("/.zfs/snapshot/20120701-15:10/sbin/zfs") didn't work, even trying to
"""
[...]
applicable to datasets of this type
"""
I reboot the machine (it is a backup server) to boot it with Solaris
10 Update 10 (god blesses "Live Upgrade"), and now I can transfer the
"zfs send" again, without any issue.
Remember, I didn't upgrade the ZPOOL yet to version 32. I am still in
version 29.
So, BEWARE!!!.
- --
Jesús Cea Avión _/_/ _/_/_/ _/_/_/
"Things are not so easy" _/_/ _/_/ _/_/ _/_/ _/_/ _/_/
"My name is Dump, Core Dump" _/_/_/ _/_/_/ _/_/ _/_/
"El amor es poner tu felicidad en la felicidad de otro" - Leibniz
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.10 (GNU/Linux)
Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/
iQCVAwUBUUNJFZlgi5GaxT1NAQIV9wP+KUK8PPT06VRsXkPC7Wh6Y8mIuCM3zyO3
TYNW6D/AofvRjf2uqeV+bk/Dzuy8nDfNu1z+dJUhyMH5aPSwpNQ3bTuQtouf9IWN
jKSOAye/KeEl0p1sThOE4XI7CaQzqfhy5ZPc3CB9U1y2Xfgy/NdEviXXyyprl1q7
83awxJ4YXrU=
=oNF7
-----END PGP SIGNATURE-----
Jesus Cea
2013-03-15 18:02:19 UTC
Permalink
Post by Matthew Ahrens
What version is the filesystem you are sending ("zfs get version
ZFS version 5. This didn't change in Solaris 10 Update 11.
Post by Matthew Ahrens
and what arguments did you pass to "zfs send"?
If you aren't using any newer filesystem version or new flags to
zfs send, I would consider it a bug that you can't receive. You
should reproduce this by attempting to send from s10u11 to an older
version of solaris (s10u10?), and report the bug to Oracle.
I confirm that trying to "zfs receive" a "zfs send" stream generated
in Solaris 10 Update 11 on a Solaris 10 Update 10 machine, fails with
"cannot receive: stream has unsupported feature, feature flags = 24".
No new ZFS dataset version.

It is look like a real bug in Solaris.

To report a bug to Oracle, you have to pay :-(. What a joke.

- --
Jesús Cea Avión _/_/ _/_/_/ _/_/_/
jcea-***@public.gmane.org - http://www.jcea.es/ _/_/ _/_/ _/_/ _/_/ _/_/
Twitter: @jcea _/_/ _/_/ _/_/_/_/_/
jabber / xmpp:jcea-/eSpBmjxGS4dnm+***@public.gmane.org _/_/ _/_/ _/_/ _/_/ _/_/
"Things are not so easy" _/_/ _/_/ _/_/ _/_/ _/_/ _/_/
"My name is Dump, Core Dump" _/_/_/ _/_/_/ _/_/ _/_/
"El amor es poner tu felicidad en la felicidad de otro" - Leibniz
Matthew Ahrens
2013-03-15 22:26:26 UTC
Permalink
Post by Jesus Cea
Post by Matthew Ahrens
What version is the filesystem you are sending ("zfs get version
ZFS version 5. This didn't change in Solaris 10 Update 11.
Post by Matthew Ahrens
and what arguments did you pass to "zfs send"?
If you aren't using any newer filesystem version or new flags to
zfs send, I would consider it a bug that you can't receive. You
should reproduce this by attempting to send from s10u11 to an older
version of solaris (s10u10?), and report the bug to Oracle.
I confirm that trying to "zfs receive" a "zfs send" stream generated
in Solaris 10 Update 11 on a Solaris 10 Update 10 machine, fails with
"cannot receive: stream has unsupported feature, feature flags = 24".
No new ZFS dataset version.
It is look like a real bug in Solaris.
Agreed, or at least a very inconvenient change from previous policy.

Does it work if you don't use -R?

You could use zstreamdump to print the stream contents and try to
figure out what's different in s10u11.
Post by Jesus Cea
To report a bug to Oracle, you have to pay :-(. What a joke.
Haha.

--matt
Jorgen Lundman
2013-08-26 02:54:40 UTC
Permalink
I came across this problem on the OSX version today, and everyone probably
already knows this, but I will put it here for completeness.

Solaris BugId
```
NOTE 3: Fix to 7097870 (spill block can be dropped in some situations
during
incremental receive) introduces backward incompatibility with zfs
send/recv. I.e., ZFS streams created with this patch will not be
receivable with older ZFS versions and it will fail with below
error
message in destination host:

"cannot receive: stream has unsupported feature, feature flags =
24"

This change is to allow important fix in ZFS to avoid metadata
corruptions related to ACL. An upgrade to same or greater version
of ZFS is required in destination for ZFS streams to work properly.
```

I am unsure what Solaris called 0x20, but I ended up calling it
DMU_BACKUP_FEATURE_SPILLBLOCKS
Current solution is that we simply ignore it:

https://github.com/zfs-osx/zfs/commit/521ea8da0d611c4175ac0a37366527ef087e8297

which should be safe for full streams. It may break with "incremental
streams" as the BugId specifies.

I feel Solaris should have only set 0x20 for incremental streams, to lessen
the incompatibility issue.

To unsubscribe from this group and stop receiving emails from it, send an email to zfs-discuss+unsubscribe-VKpPRiiRko7s4Z89Ie/***@public.gmane.org
Loading...