1#!/bin/bash
2# Copyright (c) 2015 Oracle and/or its affiliates. All Rights Reserved.
3#
4# This program is free software; you can redistribute it and/or
5# modify it under the terms of the GNU General Public License as
6# published by the Free Software Foundation; either version 2 of
7# the License, or (at your option) any later version.
8#
9# This program is distributed in the hope that it would be useful,
10# but WITHOUT ANY WARRANTY; without even the implied warranty of
11# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.	See the
12# GNU General Public License for more details.
13#
14# Test checks that we can create swap zram device.
15#
16# Author: Alexey Kodanev <alexey.kodanev@oracle.com>
17# Modified: Naresh Kamboju <naresh.kamboju@linaro.org>
18
19TCID="zram02"
20ERR_CODE=0
21
22. ./zram_lib.sh
23
24# Test will create the following number of zram devices:
25dev_num=1
26# This is a list of parameters for zram devices.
27# Number of items must be equal to 'dev_num' parameter.
28zram_max_streams="2"
29
30# The zram sysfs node 'disksize' value can be either in bytes,
31# or you can use mem suffixes. But in some old kernels, mem
32# suffixes are not supported, for example, in RHEL6.6GA's kernel
33# layer, it uses strict_strtoull() to parse disksize which does
34# not support mem suffixes, in some newer kernels, they use
35# memparse() which supports mem suffixes. So here we just use
36# bytes to make sure everything works correctly.
37zram_sizes="1048576" # 1M
38zram_mem_limits="1M"
39
40check_prereqs
41zram_load
42zram_max_streams
43zram_set_disksizes
44zram_set_memlimit
45zram_makeswap
46zram_swapoff
47zram_cleanup
48zram_unload
49
50if [ $ERR_CODE -ne 0 ]; then
51	echo "$TCID : [FAIL]"
52else
53	echo "$TCID : [PASS]"
54fi
55