diff options
author | Jonathan Bauer | 2019-07-24 10:40:43 +0200 |
---|---|---|
committer | Jonathan Bauer | 2019-07-24 10:40:43 +0200 |
commit | f80acc36cee6562dc770313aec647590c239cfe6 (patch) | |
tree | 92eda9335ad0851da2d241eaef86985d0cf84cac /builder/modules.d/slx-partitioner/scripts/dmsetup-slx-device | |
parent | added TODO for later (diff) | |
download | systemd-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-x | builder/modules.d/slx-partitioner/scripts/dmsetup-slx-device | 14 |
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 |