Project

General

Profile

Bug #10406

large_dnode changes broke zfs recv of legacy stream

Added by Jerry Jelinek 7 months ago. Updated 7 months ago.

Status:
Closed
Priority:
Normal
Assignee:
Category:
zfs - Zettabyte File System
Start date:
2019-02-14
Due date:
% Done:

100%

Estimated time:
Difficulty:
Medium
Tags:
needs-triage

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 <>
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.

History

#1

Updated by Electric Monk 7 months ago

  • % Done changed from 0 to 100
  • Status changed from New to Closed

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>

Also available in: Atom PDF