diff --git a/include/sys/dmu_objset.h b/include/sys/dmu_objset.h index df9b1a73ac..0060efd51d 100644 --- a/include/sys/dmu_objset.h +++ b/include/sys/dmu_objset.h @@ -62,7 +62,13 @@ struct dmu_tx; #define OBJSET_FLAG_USEROBJACCOUNTING_COMPLETE (1ULL << 1) #define OBJSET_FLAG_PROJECTQUOTA_COMPLETE (1ULL << 2) -/* all flags are currently non-portable */ +/* + * This mask defines the set of flags which are "portable", meaning + * that they can be preserved when doing a raw encrypted zfs send. + * Flags included in this mask will be protected by os_portable_mac + * when the block of dnodes is encrypted. No portable flags currently + * exist. + */ #define OBJSET_CRYPT_PORTABLE_FLAGS_MASK (0) typedef struct objset_phys { diff --git a/include/sys/dnode.h b/include/sys/dnode.h index 9c44a22324..1cb7cae093 100644 --- a/include/sys/dnode.h +++ b/include/sys/dnode.h @@ -150,6 +150,12 @@ enum dnode_dirtycontext { /* User/Group/Project dnode accounting */ #define DNODE_FLAG_USEROBJUSED_ACCOUNTED (1 << 3) +/* + * This mask defines the set of flags which are "portable", meaning + * that they can be preserved when doing a raw encrypted zfs send. + * Flags included in this mask will be protected by AAD when the block + * of dnodes is encrypted. + */ #define DNODE_CRYPT_PORTABLE_FLAGS_MASK (DNODE_FLAG_SPILL_BLKPTR) /*