2 # SPDX-License-Identifier: GPL-2.0+
3 # Copyright (c) 2016 Oracle. All Rights Reserved.
5 # Routines for creating huge (fake) disks
9 _require_dm_target zero
10 _require_dm_target snapshot
15 test -z "$1" && _fatal "must specify sector count to _dmhugedisk_init"
16 local dm_backing_dev=$SCRATCH_DEV
19 if [ -z "$chunk_size" ]; then
23 _dmsetup_remove huge-test
24 _dmsetup_remove huge-test-zero
28 DMHUGEDISK_ZERO='/dev/mapper/huge-test-zero'
29 DMHUGEDISK_DEV='/dev/mapper/huge-test'
31 DMHUGEDISK_ZERO_TABLE="0 $blk_dev_size zero"
32 DMHUGEDISK_DEV_TABLE="0 $blk_dev_size snapshot $DMHUGEDISK_ZERO $SCRATCH_DEV N $chunk_size"
34 _dmsetup_create huge-test-zero --table "$DMHUGEDISK_ZERO_TABLE" || \
35 _fatal "failed to create dm huge zero device"
36 _dmsetup_create huge-test --table "$DMHUGEDISK_DEV_TABLE" || \
37 _fatal "failed to create dm huge device"
42 $UMOUNT_PROG $SCRATCH_MNT > /dev/null 2>&1
43 _dmsetup_remove huge-test
44 _dmsetup_remove huge-test-zero