Actions
Bug #10406
closedlarge_dnode changes broke zfs recv of legacy stream
Start date:
2019-02-14
Due date:
% Done:
100%
Estimated time:
Difficulty:
Medium
Tags:
needs-triage
Gerrit CR:
External Bug:
Description
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.
commit da2feb42fb5c7a8c1e1cc67f7a880da9d8e97bc2
Author: Tom Caputi <tcaputi@datto.com>
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
DNODE_MIN_SLOTS.
Updated by Electric Monk over 4 years ago
- Status changed from New to Closed
- % Done changed from 0 to 100
git commit 811964cd9f1fbae0fc3b93d116269e9b1fca090a
commit 811964cd9f1fbae0fc3b93d116269e9b1fca090a Author: Tom Caputi <tcaputi@datto.com> Date: 2019-02-15T16:17:47.000Z 10406 large_dnode changes broke zfs recv of legacy stream Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Reviewed by: Kody Kantor <kody.kantor@joyent.com> Reviewed by: Jerry Jelinek <jerry.jelinek@joyent.com> Reviewed by: Toomas Soome <tsoome@me.com> Reviewed by: Andrew Stormont <andyjstormont@gmail.com> Approved by: Dan McDonald <danmcd@joyent.com>
Actions