summaryrefslogtreecommitdiff
path: root/tests/generic/495
blob: 84547f18233cc40685ef8de40de9f27d9a366aac (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
#! /bin/bash
# SPDX-License-Identifier: GPL-2.0
# Copyright (c) 2018 Facebook.  All Rights Reserved.
#
# FS QA Test 495
#
# Test invalid swap file (with holes)
#
. ./common/preamble
_begin_fstest auto quick swap

# Import common functions.
. ./common/filter

_supported_fs generic
_require_scratch_swapfile
_require_test_program mkswap
_require_test_program swapon
_require_sparse_files

_scratch_mkfs >> $seqres.full 2>&1
_scratch_mount

blksize=$(_get_file_block_size $SCRATCH_MNT)
test $blksize -eq $(getconf PAGE_SIZE) || \
	_notrun "swap file allocation unit size must match page size"

# We can't use _format_swapfile because we're using our custom mkswap and
# swapon.
touch "$SCRATCH_MNT/swap"
$CHATTR_PROG +C "$SCRATCH_MNT/swap" >> $seqres.full 2>&1
chmod 0600 "$SCRATCH_MNT/swap"
$XFS_IO_PROG -c "truncate $(($(_get_page_size) * 10))" "$SCRATCH_MNT/swap"
"$here/src/mkswap" "$SCRATCH_MNT/swap"
"$here/src/swapon" "$SCRATCH_MNT/swap"
swapoff "$SCRATCH_MNT/swap" >/dev/null 2>&1

status=0
exit