freebsd-dev/module/zfs
Ned Bass 73aac4aa41 Some additional send stream validity checking
Check in the DMU whether an object record in a send stream being
received contains an unsupported dnode slot count, and return an
error if it does. Failure to catch an unsupported dnode slot count
would result in a panic when the SPA attempts to increment the
reference count for the large_dnode feature and the pool has the
feature disabled. This is not normally an issue for a well-formed
send stream which would have the DMU_BACKUP_FEATURE_LARGE_DNODE flag
set if it contains large dnodes, so it will be rejected as
unsupported if the required feature is disabled. This change adds a
missing object record field validation.

Add missing stream feature flag checks in
dmu_recv_resume_begin_check().

Consolidate repetitive comment blocks in dmu_recv_begin_check().

Update zstreamdump to print the dnode slot count (dn_slots) for an
object record when running in verbose mode.

Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Reviewed-by: Giuseppe Di Natale <dinatale2@llnl.gov>
Reviewed by: Matthew Ahrens <mahrens@delphix.com>
Signed-off-by: Ned Bass <bass6@llnl.gov>
Closes #6396
2017-07-25 18:52:40 -07:00
..
abd.c minor improvement to abd_free_pages() 2017-05-02 10:06:18 -07:00
arc.c OpenZFS 7910 - l2arc_write_buffers() may write beyond target_sz 2017-07-04 15:28:58 -07:00
blkptr.c OpenZFS 8067 - zdb should be able to dump literal embedded block pointer 2017-07-07 11:28:01 -07:00
bplist.c
bpobj.c Don't dirty bpobj if it has no entries 2017-05-26 11:42:10 -07:00
bptree.c
bqueue.c Call cv_signal() with mutex held 2017-06-26 14:36:49 -07:00
dbuf_stats.c
dbuf.c OpenZFS 8126 - ztest assertion failed in dbuf_dirty due to dn_nlevels changing 2017-07-07 14:58:33 -07:00
ddt_zap.c
ddt.c
dmu_diff.c
dmu_object.c Add kpreempt_disable/enable around CPU_SEQID uses 2017-06-19 09:43:16 -07:00
dmu_objset.c OpenZFS 8199 - multi-threaded dmu_object_alloc() 2017-06-09 09:43:26 -07:00
dmu_send.c Some additional send stream validity checking 2017-07-25 18:52:40 -07:00
dmu_traverse.c
dmu_tx.c OpenZFS 8063 - verify that we do not attempt to access inactive txg 2017-05-10 13:52:22 -04:00
dmu_zfetch.c
dmu.c OpenZFS 8378 - crash due to bp in-memory modification of nopwrite block 2017-07-04 15:41:24 -07:00
dnode_sync.c OpenZFS 7968 - multi-threaded spa_sync() 2017-03-20 18:36:00 -07:00
dnode.c Clean up large dnode code 2017-06-29 10:18:03 -07:00
dsl_bookmark.c OpenZFS 8377 - Panic in bookmark deletion 2017-06-30 11:11:01 -07:00
dsl_dataset.c OpenZFS 7600 - zfs rollback should pass target snapshot to kernel 2017-07-04 15:29:52 -07:00
dsl_deadlist.c OpenZFS 5428 - provide fts(), reallocarray(), and strtonum() 2017-07-08 20:35:35 -07:00
dsl_deleg.c
dsl_destroy.c OpenZFS 7254 - ztest failed assertion in ztest_dataset_dirobj_verify: dirobjs + 1 == usedobjs 2017-01-27 11:43:42 -08:00
dsl_dir.c Reduce stack usage of dsl_dir_tempreserve_impl 2017-06-12 11:41:03 -07:00
dsl_pool.c Multi-modifier protection (MMP) 2017-07-13 13:54:00 -04:00
dsl_prop.c
dsl_scan.c OpenZFS 6939 - add sysevents to zfs core for commands 2017-07-12 21:28:13 -07:00
dsl_synctask.c
dsl_userhold.c OpenZFS 5428 - provide fts(), reallocarray(), and strtonum() 2017-07-08 20:35:35 -07:00
edonr_zfs.c
fm.c
gzip.c GZIP compression offloading with QAT accelerator 2017-03-22 17:58:47 -07:00
lz4.c Fix LZ4_uncompress_unknownOutputSize caused panic 2017-05-19 13:45:46 -07:00
lzjb.c
Makefile.in Multi-modifier protection (MMP) 2017-07-13 13:54:00 -04:00
metaslab.c OpenZFS 8023 - Panic destroying a metaslab deferred range tree 2017-04-09 16:12:35 -07:00
mmp.c Add callback for zfs_multihost_interval 2017-07-25 13:22:20 -04:00
multilist.c OpenZFS 7968 - multi-threaded spa_sync() 2017-03-20 18:36:00 -07:00
pathname.c
policy.c
qat_compress.c Change U16 to U32 due to atomic_inc_32_nv 2017-04-25 17:41:58 -07:00
qat_compress.h GZIP compression offloading with QAT accelerator 2017-03-22 17:58:47 -07:00
range_tree.c
refcount.c Linux 4.11 compat: avoid refcount_t name conflict 2017-02-28 16:10:18 -08:00
rrwlock.c
sa.c OpenZFS 8061 - sa_find_idx_tab can be declared more type-safely 2017-04-14 11:11:28 -07:00
sha256.c
skein_zfs.c
spa_boot.c
spa_config.c Multi-modifier protection (MMP) 2017-07-13 13:54:00 -04:00
spa_errlog.c OpenZFS 5428 - provide fts(), reallocarray(), and strtonum() 2017-07-08 20:35:35 -07:00
spa_history.c OpenZFS 6939 - add sysevents to zfs core for commands 2017-07-12 21:28:13 -07:00
spa_misc.c Multi-modifier protection (MMP) 2017-07-13 13:54:00 -04:00
spa_stats.c Multi-modifier protection (MMP) 2017-07-13 13:54:00 -04:00
spa.c Report MMP_STATE_NO_HOSTID immediately 2017-07-25 13:22:28 -04:00
space_map.c OpenZFS 8023 - Panic destroying a metaslab deferred range tree 2017-04-09 16:12:35 -07:00
space_reftree.c
trace.c
txg.c OpenZFS 8063 - verify that we do not attempt to access inactive txg 2017-05-10 13:52:22 -04:00
uberblock.c Multi-modifier protection (MMP) 2017-07-13 13:54:00 -04:00
unique.c
vdev_cache.c Fix wrong offset args in vdev_cache_write 2017-03-28 11:06:22 -07:00
vdev_disk.c Linux 4.13 compat: bio->bi_status and blk_status_t 2017-07-23 19:37:12 -07:00
vdev_file.c Skip spurious resilver IO on raidz vdev 2017-05-12 17:28:03 -07:00
vdev_label.c Multi-modifier protection (MMP) 2017-07-13 13:54:00 -04:00
vdev_mirror.c Skip spurious resilver IO on raidz vdev 2017-05-12 17:28:03 -07:00
vdev_missing.c Skip spurious resilver IO on raidz vdev 2017-05-12 17:28:03 -07:00
vdev_queue.c Cap maximum aggregate IO size 2017-06-27 10:09:16 -07:00
vdev_raidz_math_aarch64_neon_common.h
vdev_raidz_math_aarch64_neon.c
vdev_raidz_math_aarch64_neonx2.c
vdev_raidz_math_avx2.c
vdev_raidz_math_avx512bw.c
vdev_raidz_math_avx512f.c
vdev_raidz_math_impl.h
vdev_raidz_math_scalar.c
vdev_raidz_math_sse2.c
vdev_raidz_math_ssse3.c
vdev_raidz_math.c
vdev_raidz.c Skip spurious resilver IO on raidz vdev 2017-05-12 17:28:03 -07:00
vdev_root.c Skip spurious resilver IO on raidz vdev 2017-05-12 17:28:03 -07:00
vdev.c OpenZFS 6939 - add sysevents to zfs core for commands 2017-07-12 21:28:13 -07:00
zap_leaf.c OpenZFS 1300 - filename normalization doesn't work for removes 2017-02-02 14:13:41 -08:00
zap_micro.c Add missing *_destroy/*_fini calls 2017-05-04 19:26:28 -04:00
zap.c Add missing *_destroy/*_fini calls 2017-05-04 19:26:28 -04:00
zfeature_common.c OpenZFS 2932 - support crash dumps to raidz, etc. pools 2017-04-10 10:24:17 -07:00
zfeature.c
zfs_acl.c Rename zfs_sb_t -> zfsvfs_t 2017-03-10 09:51:33 -08:00
zfs_byteswap.c
zfs_ctldir.c Linux 4.9 compat: fix zfs_ctldir xattr handling 2017-06-05 11:26:25 -07:00
zfs_debug.c OpenZFS 7503 - zfs-test should tail ::zfs_dbgmsg on test failure 2017-04-12 13:36:48 -07:00
zfs_dir.c Rename zfs_sb_t -> zfsvfs_t 2017-03-10 09:51:33 -08:00
zfs_fm.c OpenZFS 6939 - add sysevents to zfs core for commands 2017-07-12 21:28:13 -07:00
zfs_fuid.c Rename zfs_sb_t -> zfsvfs_t 2017-03-10 09:51:33 -08:00
zfs_ioctl.c Fix 'zpool clear' on suspended pools 2017-07-25 12:20:52 -07:00
zfs_log.c OpenZFS 7578 - Fix/improve some aspects of ZIL writing 2017-06-09 09:15:37 -07:00
zfs_onexit.c
zfs_replay.c Rename zfs_sb_t -> zfsvfs_t 2017-03-10 09:51:33 -08:00
zfs_rlock.c
zfs_sa.c Rename zfs_sb_t -> zfsvfs_t 2017-03-10 09:51:33 -08:00
zfs_vfsops.c OpenZFS 5428 - provide fts(), reallocarray(), and strtonum() 2017-07-08 20:35:35 -07:00
zfs_vnops.c OpenZFS 8378 - crash due to bp in-memory modification of nopwrite block 2017-07-04 15:41:24 -07:00
zfs_znode.c OpenZFS 8199 - multi-threaded dmu_object_alloc() 2017-06-09 09:43:26 -07:00
zil.c OpenZFS 7578 - Fix/improve some aspects of ZIL writing 2017-06-09 09:15:37 -07:00
zio_checksum.c Remove dependency on linear ABD 2017-03-29 12:24:51 -07:00
zio_compress.c
zio_inject.c Inject zinject(8) a percentage amount of dev errs 2017-06-16 17:21:11 -07:00
zio.c Revert Fix vdev_probe() call wrt SCL_STATE_ALL 2017-07-25 12:24:42 -04:00
zle.c
zpl_ctldir.c Linux 4.12 compat: CURRENT_TIME removed 2017-05-10 09:30:48 -07:00
zpl_export.c
zpl_file.c Rename zfs_sb_t -> zfsvfs_t 2017-03-10 09:51:33 -08:00
zpl_inode.c Linux 4.12 compat: CURRENT_TIME removed 2017-05-10 09:30:48 -07:00
zpl_super.c Restructure mount option handling 2017-03-10 09:51:41 -08:00
zpl_xattr.c Linux 4.12 compat: CURRENT_TIME removed 2017-05-10 09:30:48 -07:00
zrlock.c
zvol.c Add port of FreeBSD 'volmode' property 2017-07-12 13:05:37 -07:00