mirror of
https://git.proxmox.com/git/mirror_zfs.git
synced 2025-08-06 15:07:39 +03:00

If TX_REMOVE is followed by TX_CREATE on the same object id, we need to make sure the object removal is completely finished before creation. The current implementation relies on dnode_hold_impl with DNODE_MUST_BE_ALLOCATED returning ENOENT. While this check seems to work fine before, in current version it does not guarantee the object removal is completed. We fix this by checking if DNODE_MUST_BE_FREE returns successful instead. Also add test and remove dead code in dnode_hold_impl. Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Reviewed-by: Tom Caputi <tcaputi@datto.com> Signed-off-by: Chunwei Chen <david.chen@nutanix.com> Closes #7151 Closes #8910 Closes #9123 Closes #9145
27 lines
543 B
Makefile
27 lines
543 B
Makefile
pkgdatadir = $(datadir)/@PACKAGE@/zfs-tests/tests/functional/slog
|
|
dist_pkgdata_SCRIPTS = \
|
|
setup.ksh \
|
|
cleanup.ksh \
|
|
slog_001_pos.ksh \
|
|
slog_002_pos.ksh \
|
|
slog_003_pos.ksh \
|
|
slog_004_pos.ksh \
|
|
slog_005_pos.ksh \
|
|
slog_006_pos.ksh \
|
|
slog_007_pos.ksh \
|
|
slog_008_neg.ksh \
|
|
slog_009_neg.ksh \
|
|
slog_010_neg.ksh \
|
|
slog_011_neg.ksh \
|
|
slog_012_neg.ksh \
|
|
slog_013_pos.ksh \
|
|
slog_014_pos.ksh \
|
|
slog_015_neg.ksh \
|
|
slog_replay_fs_001.ksh \
|
|
slog_replay_fs_002.ksh \
|
|
slog_replay_volume.ksh
|
|
|
|
dist_pkgdata_DATA = \
|
|
slog.cfg \
|
|
slog.kshlib
|