Commit Graph

11 Commits

Author SHA1 Message Date
Jeff Moyer fc7b390389 dax/dm: disable testing on devices that don't support dax
Move the check for dax from the individual target scripts into
_require_dm_target.  This fixes up a couple of missed tests that are
failing due to the lack of dax support (such as tests requiring
dm-snapshot).

Signed-off-by: Jeff Moyer <jmoyer@redhat.com>
Reviewed-by: Zorro Lang <zlang@redhat.com>
Signed-off-by: Eryu Guan <guaneryu@gmail.com>
2020-03-06 15:55:39 +08:00
Xiao Yang f86ce7cc4b common: Add _dmsetup_create and _dmsetup_remove helpers
Make sure both "$UDEV_SETTLE_PROG" and "mknodes" can always
be run after a dm create or remove operation.

Suggested-by: Dave Chinner <david@fromorbit.com>
Reviewed-by: David Sterba <dsterba@suse.com>
Signed-off-by: Xiao Yang <yangx.jy@cn.fujitsu.com>
Signed-off-by: Eryu Guan <guaneryu@gmail.com>
2018-07-01 20:35:27 +08:00
Dave Chinner 98a3b42b42 common: convert to SPDX license tags
These have been scripted conversions then cleaned up by hand as
there was no consistency to the formatting of the license headers in
the common/ directory. Author information was also removed (it's in
the git history) and so now the header format is consistently:

##/bin/bash
# SPDX-License-Identifier: GPL-2.0(+)
# Copyright (c) <date> <owner>. All Rights Reserved.
#
# <file description>

Signed-off-by: Dave Chinner <dchinner@redhat.com>
2018-06-09 11:34:49 +10:00
Hou Tao b237e01b12 dmflakey: support error_writes feature for dm-flakey
Add _require_flakey_with_error_writes() to check the availability of
dm-flakey target and its error_writes feature, and support for
enabling FLAKEY_TABLE_ERROR table by passing FLAKEY_ERROR_WRITES to
_load_flakey_table().

Signed-off-by: Hou Tao <houtao1@huawei.com>
Reviewed-by: Eryu Guan <eguan@redhat.com>
Signed-off-by: Eryu Guan <eguan@redhat.com>
2018-01-12 11:40:39 +08:00
Hou Tao 976c9ca656 dmflakey: support multiple dm targets for a dm-flakey device
dm-flakey can be used to emulate IO write error, however, when we
also need to prevent the IO error for a specific range of the block
device (eg., the log region of a XFS), we need to specify multiple
dm targets for the dm device.

Option --table can not accommodate the multiple dm targets case, so
let dmsetup get the possible-multiple-targets table from standard
input.

Signed-off-by: Hou Tao <houtao1@huawei.com>
Reviewed-by: Eryu Guan <eguan@redhat.com>
Signed-off-by: Eryu Guan <eguan@redhat.com>
2018-01-12 11:40:39 +08:00
Eryu Guan 3bc4c5895c common: make sure dm device is all settled before removing it
_dmerror_cleanup()/_cleanup_flakey may fail to remove dm device due to
EBUSY and cause subsequent tests to fail.

Fix it by calling $UDEV_SETTLE_PROG before remove dm device to make sure
no one is using it.

Signed-off-by: Eryu Guan <eguan@redhat.com>
Reviewed-by: Filipe Manana <fdmanana@suse.com>
Signed-off-by: Dave Chinner <david@fromorbit.com>
2016-04-05 11:44:33 +10:00
Dave Chinner f8c65ca45d xfs: support realtime/log device setup changes in config sections
Currently changing the devices used by "USE_EXTERNAL" environmental
variable is not supported by the config section parsing. Add the
functionality so that we can use config sections to test external
device configs successfully.

This required tracking down a bug in _check_xfs_filesystem() which
was causing a log device to be passed to a test device without an
external log device. This was caused by an uninitialised variable in
the function. I also added full output file removals to the first
couple of generic tests that were failing, because that's where the
check failure output ends up in this case.

Signed-off-by: Dave Chinner <dchinner@redhat.com>
Reviewed-by: Eryu Guan <eguan@redhat.com>
Signed-off-by: Dave Chinner <david@fromorbit.com>
2016-02-02 15:54:43 +11:00
Jeff Moyer 7c8afd7a89 dmflakey: don't run for dax mounts
There is no sense running dmflakey tests with the dax mount option,
since dmflakey doesn't support it.  Mark these as _notrun so that it is
clear that this type of testing is not happenning for dax.

Suggested-by: Dave Chinner <david@fromorbit.com>
Signed-off-by: Jeff Moyer <jmoyer@redhat.com>
Reviewed-by: Dave Chinner <dchinner@redhat.com>
Signed-off-by: Dave Chinner <david@fromorbit.com>
2015-12-21 18:01:47 +11:00
Filipe Manana 1a22b6820e common: add helper function _flakey_drop_and_remount
To avoid having many tests repeating the following pattern:

        _load_flakey_table $FLAKEY_DROP_WRITES
        _unmount_flakey

        _load_flakey_table $FLAKEY_ALLOW_WRITES
        _mount_flakey

add the helper function _flakey_drop_and_remount to remove
the existing duplicated code and serve as a shortcut.

Signed-off-by: Filipe Manana <fdmanana@suse.com>
Reviewed-by: Dave Chinner <dchinner@redhat.com>
Signed-off-by: Dave Chinner <david@fromorbit.com>
2015-11-17 08:41:32 +11:00
Theodore Ts'o 2e0960f99e common: allow dmflakey tests to work without udev
If udev is not present, we need to run "dmsetup mknodes" to make sure
/dev/mapper/flakey-test is created or destroyed as appropriate.  On a
system with udev, running "dmsetup mknodes" will be a no-op.

Signed-off-by: Theodore Ts'o <tytso@mit.edu>
Reviewed-by: Dave Chinner <dchinner@redhat.com>
Signed-off-by: Dave Chinner <david@fromorbit.com>
2014-08-13 11:20:57 +10:00
Josef Bacik 640d1e1e16 generic: add new test for fsync() on directories
Btrfs had some issues with fsync()'ing directories and fsync()'ing
after renames.  These three new tests cover the 3 different issues
we were seeing.  This breaks out the dmflakey stuff into a common
helper to be shared between generic/311 and this new test.

Signed-off-by: Josef Bacik <jbacik@fusionio.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Dave Chinner <david@fromorbit.com>
2013-12-03 10:29:36 +11:00