summaryrefslogtreecommitdiffstats
path: root/builder/modules.d/slx-partitioner/scripts/dmsetup-slx-device
diff options
context:
space:
mode:
authorJonathan Bauer2019-07-24 10:40:43 +0200
committerJonathan Bauer2019-07-24 10:40:43 +0200
commitf80acc36cee6562dc770313aec647590c239cfe6 (patch)
tree92eda9335ad0851da2d241eaef86985d0cf84cac /builder/modules.d/slx-partitioner/scripts/dmsetup-slx-device
parentadded TODO for later (diff)
downloadsystemd-init-f80acc36cee6562dc770313aec647590c239cfe6.tar.gz
systemd-init-f80acc36cee6562dc770313aec647590c239cfe6.tar.xz
systemd-init-f80acc36cee6562dc770313aec647590c239cfe6.zip
[slx-partitioner] don't return on module load fail
since it might be builtin... Also use slxtools
Diffstat (limited to 'builder/modules.d/slx-partitioner/scripts/dmsetup-slx-device')
-rwxr-xr-xbuilder/modules.d/slx-partitioner/scripts/dmsetup-slx-device14
1 files changed, 8 insertions, 6 deletions
diff --git a/builder/modules.d/slx-partitioner/scripts/dmsetup-slx-device b/builder/modules.d/slx-partitioner/scripts/dmsetup-slx-device
index c6c3c8cc..740445bb 100755
--- a/builder/modules.d/slx-partitioner/scripts/dmsetup-slx-device
+++ b/builder/modules.d/slx-partitioner/scripts/dmsetup-slx-device
@@ -105,7 +105,7 @@ dmsetup_create_noudevsync() {
# encrypt_device <dev_path> <encrypted_name> [<size>]
encrypt_device() {
- modprobe dm-crypt || return 1
+ modprobe dm-crypt || echo "$0: dm-crypt loading failed, maybe builtin?"
[ -b "$1" ] || return 1
[ -n "$2" ] || return 1
[ -z "$3" ] && local size="$(blockdev --getsz $1)"
@@ -119,7 +119,7 @@ encrypt_device() {
}
# create_snapshot "<name> <persist>"
create_snapshot() {
- modprobe dm-snapshot || return 1
+ modprobe dm-snapshot || echo "$0: dm-snapshot loading failed, maybe builtin?"
read -r name persist ignore <<< "$1"
if ! dmsetup_create_noudevsync "$name" \
"0 $read_only_device_size snapshot $read_only_device $writable_device ${persist:-N} 8"; then
@@ -202,7 +202,7 @@ save_partition_info() {
declare -g writable_device=
if [ -n "$SLX_WRITABLE_DEVICE_IDENTIFIER" ]; then
# only first one for now TODO create linear devices of all ID44s
- writable_device="$(get-partitions-by-id "$SLX_WRITABLE_DEVICE_IDENTIFIER" | head -n 1)"
+ writable_device="$(slx-tools dev_find_partitions "$SLX_WRITABLE_DEVICE_IDENTIFIER" | head -n 1)"
fi
if [ -z "$writable_device" ]; then
echo "$0: Could not find writable device with id '$SLX_WRITABLE_DEVICE_IDENTIFIER'."
@@ -317,7 +317,7 @@ declare -rg pool_dev="/dev/mapper/pool"
create_pool() {
# create external snapshot for read-only device
# create remaining thin volumes
- modprobe dm-thin-pool || return 1
+ modprobe dm-thin-pool || echo "$0: dm-thin-pool load failed, maybe builtin?"
# create temporary metadata device
data_block_size=128
# calculate number of sectors needed and check boundaries:
@@ -336,9 +336,11 @@ create_pool() {
echo "$0: Failed to create pool metadata device on '$writable_device'."
return 1
fi
- writable_device_size=$(( $writable_device_size - $metadata_dev_size ))
+ # For persistent metadata device we will need to cut that space off first:
+ # writable_device_size=$(( $writable_device_size - $metadata_dev_size ))
+
if ! dmsetup_create_noudevsync "${pool_data_dev##*/}" \
- "0 $writable_device_size linear $writable_device $metadata_dev_size"; then
+ "0 $writable_device_size linear $writable_device 0"; then
echo "$0: Failed to create pool data device on '$writable_device'."
return 1
fi