]> git.proxmox.com Git - mirror_zfs.git/commit - tests/zfs-tests/include/libtest.shlib
Fix volume WR_INDIRECT log replay
authorBrian Behlendorf <behlendorf1@llnl.gov>
Fri, 8 Sep 2017 22:07:00 +0000 (15:07 -0700)
committerGitHub <noreply@github.com>
Fri, 8 Sep 2017 22:07:00 +0000 (15:07 -0700)
commit5c214ae318cbca37285ec38e6a2044a7002d31e9
tree199f8691dbb618a53d2761c568075660d4d7e3e5
parente0dd0a32a8c8db725be673153b09bee0ca9adcf2
Fix volume WR_INDIRECT log replay

The portion of the zvol_replay_write() handler responsible for
replaying indirect log records for some reason never existed.
As a result indirect log records were not being correctly replayed.

This went largely unnoticed since the majority of zvol log records
were of the type WR_COPIED or WR_NEED_COPY prior to OpenZFS 7578.

This patch updates zvol_replay_write() to correctly handle these
log records and adds a new test case which verifies volume replay
to prevent any regression.  The existing test case which verified
replay on filesystem was renamed slog_replay_fs.ksh for clarity.

Reviewed-by: George Melikov <mail@gmelikov.ru>
Reviewed-by: loli10K <ezomori.nozomu@gmail.com>
Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
Closes #6603
Closes #6615
14 files changed:
module/zfs/zvol.c
scripts/zfs-tests.sh
tests/runfiles/linux.run
tests/zfs-tests/include/commands.cfg
tests/zfs-tests/include/libtest.shlib
tests/zfs-tests/tests/functional/cli_root/zfs_copies/cleanup.ksh
tests/zfs-tests/tests/functional/cli_root/zfs_rollback/zfs_rollback_common.kshlib
tests/zfs-tests/tests/functional/cli_root/zpool_create/zpool_create.shlib
tests/zfs-tests/tests/functional/slog/Makefile.am
tests/zfs-tests/tests/functional/slog/setup.ksh
tests/zfs-tests/tests/functional/slog/slog_015_pos.ksh [deleted file]
tests/zfs-tests/tests/functional/slog/slog_replay_fs.ksh [new file with mode: 0755]
tests/zfs-tests/tests/functional/slog/slog_replay_volume.ksh [new file with mode: 0755]
tests/zfs-tests/tests/functional/xattr/xattr_004_pos.ksh