mirror of
https://git.proxmox.com/git/mirror_zfs.git
synced 2024-11-17 10:01:01 +03:00
This reverts commit 693c1fc478
. This
change resulted in a kmem leak being observed in existing code which
needs to be identified and addressed.
Reviewed-by: Paul Zuchowski <pzuchowski@datto.com>
Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
Issue #8978
Closes #9090
This commit is contained in:
parent
adf495e239
commit
1e620c9872
@ -184,7 +184,6 @@ AC_CONFIG_FILES([
|
|||||||
tests/zfs-tests/cmd/mmap_libaio/Makefile
|
tests/zfs-tests/cmd/mmap_libaio/Makefile
|
||||||
tests/zfs-tests/cmd/mmapwrite/Makefile
|
tests/zfs-tests/cmd/mmapwrite/Makefile
|
||||||
tests/zfs-tests/cmd/nvlist_to_lua/Makefile
|
tests/zfs-tests/cmd/nvlist_to_lua/Makefile
|
||||||
tests/zfs-tests/cmd/online_recv/Makefile
|
|
||||||
tests/zfs-tests/cmd/randfree_file/Makefile
|
tests/zfs-tests/cmd/randfree_file/Makefile
|
||||||
tests/zfs-tests/cmd/randwritecomp/Makefile
|
tests/zfs-tests/cmd/randwritecomp/Makefile
|
||||||
tests/zfs-tests/cmd/readmmap/Makefile
|
tests/zfs-tests/cmd/readmmap/Makefile
|
||||||
@ -345,7 +344,6 @@ AC_CONFIG_FILES([
|
|||||||
tests/zfs-tests/tests/functional/vdev_zaps/Makefile
|
tests/zfs-tests/tests/functional/vdev_zaps/Makefile
|
||||||
tests/zfs-tests/tests/functional/write_dirs/Makefile
|
tests/zfs-tests/tests/functional/write_dirs/Makefile
|
||||||
tests/zfs-tests/tests/functional/xattr/Makefile
|
tests/zfs-tests/tests/functional/xattr/Makefile
|
||||||
tests/zfs-tests/tests/functional/xattr/blockfiles/Makefile
|
|
||||||
tests/zfs-tests/tests/functional/zvol/Makefile
|
tests/zfs-tests/tests/functional/zvol/Makefile
|
||||||
tests/zfs-tests/tests/functional/zvol/zvol_cli/Makefile
|
tests/zfs-tests/tests/functional/zvol/zvol_cli/Makefile
|
||||||
tests/zfs-tests/tests/functional/zvol/zvol_ENOSPC/Makefile
|
tests/zfs-tests/tests/functional/zvol/zvol_ENOSPC/Makefile
|
||||||
|
@ -912,7 +912,7 @@ tags = ['functional', 'write_dirs']
|
|||||||
tests = ['xattr_001_pos', 'xattr_002_neg', 'xattr_003_neg', 'xattr_004_pos',
|
tests = ['xattr_001_pos', 'xattr_002_neg', 'xattr_003_neg', 'xattr_004_pos',
|
||||||
'xattr_005_pos', 'xattr_006_pos', 'xattr_007_neg', 'xattr_008_pos',
|
'xattr_005_pos', 'xattr_006_pos', 'xattr_007_neg', 'xattr_008_pos',
|
||||||
'xattr_009_neg', 'xattr_010_neg', 'xattr_011_pos', 'xattr_012_pos',
|
'xattr_009_neg', 'xattr_010_neg', 'xattr_011_pos', 'xattr_012_pos',
|
||||||
'xattr_013_pos', 'xattr_zfs_zreget']
|
'xattr_013_pos']
|
||||||
tags = ['functional', 'xattr']
|
tags = ['functional', 'xattr']
|
||||||
|
|
||||||
[tests/functional/zvol/zvol_ENOSPC]
|
[tests/functional/zvol/zvol_ENOSPC]
|
||||||
|
@ -19,7 +19,6 @@ SUBDIRS = \
|
|||||||
mmap_libaio \
|
mmap_libaio \
|
||||||
mmapwrite \
|
mmapwrite \
|
||||||
nvlist_to_lua \
|
nvlist_to_lua \
|
||||||
online_recv \
|
|
||||||
randfree_file \
|
randfree_file \
|
||||||
randwritecomp \
|
randwritecomp \
|
||||||
readmmap \
|
readmmap \
|
||||||
|
1
tests/zfs-tests/cmd/online_recv/.gitignore
vendored
1
tests/zfs-tests/cmd/online_recv/.gitignore
vendored
@ -1 +0,0 @@
|
|||||||
/online_recv
|
|
@ -1,15 +0,0 @@
|
|||||||
include $(top_srcdir)/config/Rules.am
|
|
||||||
|
|
||||||
pkgexecdir = $(datadir)/@PACKAGE@/zfs-tests/bin
|
|
||||||
|
|
||||||
DEFAULT_INCLUDES += \
|
|
||||||
-I$(top_srcdir)/include \
|
|
||||||
-I$(top_srcdir)/lib/libspl/include
|
|
||||||
|
|
||||||
pkgexec_PROGRAMS = online_recv
|
|
||||||
|
|
||||||
online_recv_SOURCES = online_recv.c
|
|
||||||
online_recv_LDADD = \
|
|
||||||
$(top_builddir)/lib/libspl/libspl.la \
|
|
||||||
$(top_builddir)/lib/libnvpair/libnvpair.la \
|
|
||||||
$(top_builddir)/lib/libzfs_core/libzfs_core.la
|
|
@ -1,52 +0,0 @@
|
|||||||
/*
|
|
||||||
* CDDL HEADER START
|
|
||||||
*
|
|
||||||
* This file and its contents are supplied under the terms of the
|
|
||||||
* Common Development and Distribution License ("CDDL"), version 1.0.
|
|
||||||
* You may only use this file in accordance with the terms of version
|
|
||||||
* 1.0 of the CDDL.
|
|
||||||
*
|
|
||||||
* A full copy of the text of the CDDL should have accompanied this
|
|
||||||
* source. A copy of the CDDL is also available via the Internet at
|
|
||||||
* http://www.illumos.org/license/CDDL.
|
|
||||||
*
|
|
||||||
* CDDL HEADER END
|
|
||||||
*/
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Copyright (c) 2019 by Datto, Inc. All rights reserved.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include <stdio.h>
|
|
||||||
#include <stdlib.h>
|
|
||||||
#include <sys/types.h>
|
|
||||||
#include <sys/stat.h>
|
|
||||||
#include <fcntl.h>
|
|
||||||
#include <libzfs_core.h>
|
|
||||||
|
|
||||||
int zfs_fd;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Use libzfs_core to do a "zfs receive". This allows us to
|
|
||||||
* bypass certain checks in the zfs command utility and
|
|
||||||
* perform an online receive into an existing filesystem for
|
|
||||||
* testing purposes.
|
|
||||||
*/
|
|
||||||
int
|
|
||||||
main(int argc, const char *argv[])
|
|
||||||
{
|
|
||||||
int err = 0;
|
|
||||||
|
|
||||||
if (argc < 2) {
|
|
||||||
fprintf(stderr, "usage: online_recv <destination>\n");
|
|
||||||
exit(2);
|
|
||||||
}
|
|
||||||
|
|
||||||
(void) libzfs_core_init();
|
|
||||||
|
|
||||||
err = lzc_receive(argv[1], NULL, NULL, B_TRUE, B_FALSE, 0);
|
|
||||||
|
|
||||||
libzfs_core_fini();
|
|
||||||
|
|
||||||
return (err);
|
|
||||||
}
|
|
@ -175,7 +175,6 @@ export ZFSTEST_FILES='chg_usr_exec
|
|||||||
mmap_libaio
|
mmap_libaio
|
||||||
mmapwrite
|
mmapwrite
|
||||||
nvlist_to_lua
|
nvlist_to_lua
|
||||||
online_recv
|
|
||||||
randfree_file
|
randfree_file
|
||||||
randwritecomp
|
randwritecomp
|
||||||
readmmap
|
readmmap
|
||||||
|
@ -1,5 +1,3 @@
|
|||||||
SUBDIRS = blockfiles
|
|
||||||
|
|
||||||
pkgdatadir = $(datadir)/@PACKAGE@/zfs-tests/tests/functional/xattr
|
pkgdatadir = $(datadir)/@PACKAGE@/zfs-tests/tests/functional/xattr
|
||||||
dist_pkgdata_SCRIPTS = \
|
dist_pkgdata_SCRIPTS = \
|
||||||
setup.ksh \
|
setup.ksh \
|
||||||
@ -16,8 +14,7 @@ dist_pkgdata_SCRIPTS = \
|
|||||||
xattr_010_neg.ksh \
|
xattr_010_neg.ksh \
|
||||||
xattr_011_pos.ksh \
|
xattr_011_pos.ksh \
|
||||||
xattr_012_pos.ksh \
|
xattr_012_pos.ksh \
|
||||||
xattr_013_pos.ksh \
|
xattr_013_pos.ksh
|
||||||
xattr_zfs_zreget.ksh
|
|
||||||
|
|
||||||
dist_pkgdata_DATA = \
|
dist_pkgdata_DATA = \
|
||||||
xattr_common.kshlib \
|
xattr_common.kshlib \
|
||||||
|
@ -1,3 +0,0 @@
|
|||||||
pkgdatadir = $(datadir)/@PACKAGE@/zfs-tests/tests/functional/xattr/blockfiles
|
|
||||||
dist_pkgdata_DATA = \
|
|
||||||
zfs-txg-number.dat.bz2
|
|
Binary file not shown.
@ -1,78 +0,0 @@
|
|||||||
#!/bin/ksh -p
|
|
||||||
#
|
|
||||||
# CDDL HEADER START
|
|
||||||
#
|
|
||||||
# This file and its contents are supplied under the terms of the
|
|
||||||
# Common Development and Distribution License ("CDDL"), version 1.0.
|
|
||||||
# You may only use this file in accordance with the terms of version
|
|
||||||
# 1.0 of the CDDL.
|
|
||||||
#
|
|
||||||
# A full copy of the text of the CDDL should have accompanied this
|
|
||||||
# source. A copy of the CDDL is also available via the Internet at
|
|
||||||
# http://www.illumos.org/license/CDDL.
|
|
||||||
#
|
|
||||||
# CDDL HEADER END
|
|
||||||
#
|
|
||||||
|
|
||||||
#
|
|
||||||
# Copyright (c) 2019 Datto, Inc. All rights reserved.
|
|
||||||
#
|
|
||||||
|
|
||||||
. $STF_SUITE/include/libtest.shlib
|
|
||||||
|
|
||||||
#
|
|
||||||
# DESCRIPTION:
|
|
||||||
# See ZoL issues #5866 and #8858. This test will ensure the fixes for
|
|
||||||
# these specific issues have no regression.
|
|
||||||
#
|
|
||||||
# Exercise the functions zfs_suspend_fs / zfs_resume_fs / zfs_rezget.
|
|
||||||
# The test will ensure that we reach zfs code that compares file
|
|
||||||
# generation numbers and fetches extended attributes.
|
|
||||||
#
|
|
||||||
# STRATEGY:
|
|
||||||
# 1. Import a pool that has txg number > 2^32.
|
|
||||||
# 2. Take snapshot and do send with an online receive.
|
|
||||||
# 3. EIO is expected when accessing the received file-system.
|
|
||||||
# 4. Access extended attribute. (previously this would panic)
|
|
||||||
# 5. Take second snapshot, write some data.
|
|
||||||
# 6. Rollback.
|
|
||||||
# 7. Access the resulting file-system. (previously every accesss would give EIO)
|
|
||||||
#
|
|
||||||
|
|
||||||
verify_runnable "global"
|
|
||||||
|
|
||||||
function cleanup
|
|
||||||
{
|
|
||||||
log_must zpool destroy -f txg-number-pool
|
|
||||||
log_must rm $TEST_BASE_DIR/zfs-txg-number.dat
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
log_assert "zfs can handle suspend/resume with large generation number"
|
|
||||||
|
|
||||||
log_onexit cleanup
|
|
||||||
|
|
||||||
log_must bzcat \
|
|
||||||
$STF_SUITE/tests/functional/xattr/blockfiles/zfs-txg-number.dat.bz2 \
|
|
||||||
>$TEST_BASE_DIR/zfs-txg-number.dat
|
|
||||||
|
|
||||||
log_must zpool import txg-number-pool -d $TEST_BASE_DIR
|
|
||||||
|
|
||||||
log_must zfs create txg-number-pool/fs1
|
|
||||||
log_must zfs snapshot txg-number-pool/fs1@snap1
|
|
||||||
log_must zfs create txg-number-pool/fs2
|
|
||||||
|
|
||||||
log_must eval "zfs send txg-number-pool/fs1@snap1 |
|
|
||||||
online_recv txg-number-pool/fs2@snap1"
|
|
||||||
|
|
||||||
log_mustnot stat /txg-number-pool/fs2
|
|
||||||
log_mustnot attr -l /txg-number-pool/fs2
|
|
||||||
|
|
||||||
log_must zfs snapshot txg-number-pool/fs1@snap2
|
|
||||||
log_must fill_fs /txg-number-pool/fs1 2 2 1024 1 R
|
|
||||||
log_must sync
|
|
||||||
log_must zfs rollback txg-number-pool/fs1@snap2
|
|
||||||
|
|
||||||
log_must stat /txg-number-pool/fs1
|
|
||||||
|
|
||||||
log_pass "suspend/resume works with large generation number"
|
|
Loading…
Reference in New Issue
Block a user