From a9f0d7dd89fd9e09ef41ca98d6ba06bbd3d6ea88 Mon Sep 17 00:00:00 2001 From: Brian Behlendorf Date: Thu, 18 May 2017 10:02:16 -0700 Subject: [PATCH] Fix large dnode send stream flag conflict Bit 21 of the send stream flags was inadvertently used for two different features under concurrent development. To avoid any future compatibility problems the large dnode flag is being switched to bit 23 which is unused. The large dnode feature has only been present in pre-releases of ZoL and dnodesize defaults to legacy which is compatible with existing OpenZFS implementations. Users with dnodesize=auto needing to use zfs send/recv must update ZoL on both the source and destination systems. Reviewed by: Matthew Ahrens Reviewed-by: Ned Bass Reviewed-by: George Melikov Signed-off-by: Brian Behlendorf Closes #6139 --- include/sys/zfs_ioctl.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/include/sys/zfs_ioctl.h b/include/sys/zfs_ioctl.h index 3ec812ac0f..495cdea3a8 100644 --- a/include/sys/zfs_ioctl.h +++ b/include/sys/zfs_ioctl.h @@ -100,8 +100,9 @@ typedef enum drr_headertype { /* flag #18 is reserved for a Delphix feature */ #define DMU_BACKUP_FEATURE_LARGE_BLOCKS (1 << 19) #define DMU_BACKUP_FEATURE_RESUMING (1 << 20) -#define DMU_BACKUP_FEATURE_LARGE_DNODE (1 << 21) +/* flag #21 is reserved for a Delphix feature */ #define DMU_BACKUP_FEATURE_COMPRESSED (1 << 22) +#define DMU_BACKUP_FEATURE_LARGE_DNODE (1 << 23) /* * Mask of all supported backup features