large_dnode changes broke zfs recv of legacy stream
The large dnode changes from 8423 caused problems in zfs recv for a legacy stream. This manifests when attempting to mount the received stream, but the problem is in the receive code. We missed the following commit from ZoL which fixes this.
Author: Tom Caputi <firstname.lastname@example.org>
Date: Thu Jun 28 17:55:11 2018 -0400
Fix 'zfs recv' of non large_dnode send streams
Currently, there is a bug where older send streams without the
DMU_BACKUP_FEATURE_LARGE_DNODE flag are not handled correctly.
The code in receive_object() fails to handle cases where
drro->drr_dn_slots is set to 0, which is always the case when the
sending code does not support this feature flag. This patch fixes
the issue by ensuring that that a value of 0 is treated as
Updated by Electric Monk over 4 years ago
- Status changed from New to Closed
- % Done changed from 0 to 100
commit 811964cd9f1fbae0fc3b93d116269e9b1fca090a Author: Tom Caputi <email@example.com> Date: 2019-02-15T16:17:47.000Z 10406 large_dnode changes broke zfs recv of legacy stream Reviewed-by: Brian Behlendorf <firstname.lastname@example.org> Reviewed by: Kody Kantor <email@example.com> Reviewed by: Jerry Jelinek <firstname.lastname@example.org> Reviewed by: Toomas Soome <email@example.com> Reviewed by: Andrew Stormont <firstname.lastname@example.org> Approved by: Dan McDonald <email@example.com>