Skip to content

Commit 8c5de56

Browse files
committed
test-kpartx: improve step descriptions to ease debugging
Signed-off-by: Martin Wilck <mwilck@suse.com>
1 parent 8dee11c commit 8c5de56

1 file changed

Lines changed: 46 additions & 36 deletions

File tree

kpartx/test-kpartx

Lines changed: 46 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -195,7 +195,11 @@ DEV2=$(stat -c "%t:%T" "$LO2")
195195

196196
wait_a_moment
197197

198-
step "create DM devices (spans)"
198+
SPAN1=__kpt__
199+
SPAN2=$(basename "$LO2")
200+
# This is a non-kpartx pseudo "partition" mapping
201+
USER1=user1
202+
step "create DM devices => $SPAN1, $SPAN2, $USER1"
199203
# Create two linear mappings spanning two loopdevs.
200204
# One of them gets a pathological name colliding with
201205
# the loop device name.
@@ -206,17 +210,12 @@ TABLE="\
206210
0 $((SIZE/SECTSIZ-OFFS)) linear $DEV1 $OFFS
207211
$((SIZE/SECTSIZ-OFFS)) $((SIZE/SECTSIZ-OFFS)) linear $DEV2 $OFFS"
208212

209-
# This must end in a normal letter
210-
SPAN1=__kpt__
211-
SPAN2=$(basename "$LO2")
212213
dmsetup create "$SPAN1" <<<"$TABLE"
213214
push_cleanup 'dmsetup remove -f "$SPAN1"'
214215

215216
dmsetup create "$SPAN2" <<<"$TABLE"
216217
push_cleanup 'dmsetup remove -f "$SPAN2"'
217218

218-
# This is a non-kpartx pseudo "partition" mapping
219-
USER1=user1
220219
push_cleanup 'dmsetup remove -f "$USER1"'
221220
dmsetup create "$USER1" <<EOF
222221
0 $((SIZE/SECTSIZ-OFFS)) linear $DEV1 $OFFS
@@ -227,7 +226,7 @@ wait_a_moment
227226
[[ -b "/dev/mapper/$SPAN2" ]]
228227
[[ -b "/dev/mapper/$USER1" ]]
229228

230-
step "create vg on $LO3"
229+
step "create vg and lv on $LO3 => $VG-$LV, $USER1"
231230
# On the 3rd loop device, we create a VG and an LV
232231
# The LV should not be removed by kpartx.
233232
# shellcheck disable=SC2090
@@ -246,38 +245,38 @@ current_state
246245
# dmsetup table /dev/mapper/$VG-$LV
247246
# dmsetup info /dev/mapper/$VG-$LV
248247

249-
step "create partitions on loop devices"
248+
step "create partitions on loop devices => $LO1 $LO2 $LO4"
250249

251250
mk_partitions "$LO1"
252251
mk_partitions "$LO2"
253252
mk_partitions "$LO4"
254253

255-
step "run kpartx on regular file"
256254

257255
# Test invocation of kpartx with regular file here
258256
LO2P1=/dev/mapper/$(basename "$LO2")-foo1
259257
push_cleanup 'dmsetup remove -f "$(basename $LO2P1)"'
258+
step "run kpartx on regular file $FILE2 => $LO2P1"
260259
# shellcheck disable=2086
261260
$KPARTX $KPARTX_OPTS -a -p -foo "$FILE2"
262261
current_state
263262
[[ -b "$LO2P1" ]]
264263

265-
step "remove partitions with deleted ptable"
264+
step "deleting partition table on $LO2 => -$LO2P1"
266265
wipe_ptable "$LO2"
267266
# shellcheck disable=2086
268267
$KPARTX $KPARTX_OPTS -d "$LO2"
269268
current_state
270269
[[ ! -b "$LO2P1" ]]
271270

272-
step "re-add just removed partions"
271+
step "re-add just removed partions on $LO2 => $LO2P1"
273272
mk_partitions "$LO2"
274273
# shellcheck disable=2086
275274
$KPARTX $KPARTX_OPTS -a -p -foo "$FILE2"
276275
current_state
277276
[[ -b "$LO2P1" ]]
278277

279-
step "run kpartx on loop device"
280278
LO1P1=/dev/mapper/$(basename "$LO1")-eggs1
279+
step "run kpartx on loop device $LO1 => $LO1P1"
281280
push_cleanup 'dmsetup remove -f $(basename "$LO1P1")'
282281
# shellcheck disable=2086
283282
$KPARTX $KPARTX_OPTS -a -p -eggs "$LO1"
@@ -289,7 +288,7 @@ current_state
289288

290289
# dmsetup info $LO2P1
291290

292-
step "rename $(basename "$LO1P1") to $(basename "$LO1")"
291+
step "rename $(basename "$LO1P1") -> $(basename "$LO1")"
293292
# Set pathological name for partition on $LO1 (same as loop device itself)
294293
dmsetup rename "$(basename "$LO1P1")" "$(basename "$LO1")"
295294
LO1P1=/dev/mapper/$(basename "$LO1")
@@ -299,21 +298,22 @@ push_cleanup 'dmsetup remove -f "$(basename "$LO1P1")"'
299298
current_state
300299
[[ -b "$LO1P1" ]]
301300

302-
# dmsetup info $LO1P1
303-
304-
step "create partitions on DM devices"
305301
mk_partitions "/dev/mapper/$SPAN2"
306-
302+
SPAN2P1=/dev/mapper/${SPAN2}-bar1
303+
step "create partitions on DM device $SPAN2 => $SPAN2P1"
307304
# shellcheck disable=2086
308305
$KPARTX $KPARTX_OPTS -a -p -bar "/dev/mapper/$SPAN2"
309-
SPAN2P1=/dev/mapper/${SPAN2}-bar1
306+
wait_a_moment
307+
current_state
308+
[[ -b "$SPAN2P1" ]]
310309

311310
# udev rules may have created partition mappings without UUIDs
312311
# which aren't removed by default (if system standard kpartx doesn't
313312
# set the UUID). Remove them using -f
314313
push_cleanup '$CLEANUP_KPARTX $KPARTX_OPTS -f -d "/dev/mapper/$SPAN2"'
315314
push_cleanup 'dmsetup remove -f "$(basename "$SPAN2P1")"'
316315

316+
step "create partitions on DM device $SPAN1 => $SPAN1P1"
317317
# shellcheck disable=2086
318318
$KPARTX $KPARTX_OPTS -a -p -spam "/dev/mapper/$SPAN1"
319319
SPAN1P1=/dev/mapper/${SPAN1}-spam1
@@ -326,22 +326,22 @@ current_state
326326
[[ -b "$SPAN2P1" ]]
327327
[[ -b "$SPAN1P1" ]]
328328

329-
step "rename partitions on DM device with default delimiter"
329+
step "rename partitions on $SPAN1 with default delimiter => $SPAN1P1 -> $(partname "$SPAN1" 1)"
330330
# shellcheck disable=2086
331331
$KPARTX $KPARTX_OPTS -u "/dev/mapper/$SPAN1"
332332
current_state
333333
[[ ! -b "$SPAN1P1" ]]
334334
# This assumes that $SPAN1 ends in a non-digit
335335
[[ -b "$(partname "$SPAN1" 1)" ]]
336336

337-
step "rename partitions on DM device with delimiter -spam"
337+
step "rename partitions on DM device with delimiter -spam => $(partname "$SPAN1" 1) -> $SPAN1P1"
338338
# shellcheck disable=2086
339339
$KPARTX $KPARTX_OPTS -u -p -spam "/dev/mapper/$SPAN1"
340340
current_state
341341
[[ -b "$SPAN1P1" ]]
342342
[[ ! -b "$(partname "$SPAN1" 1)" ]]
343343

344-
step "delete partitions on DM devices"
344+
step "delete partitions on DM device $SPAN1 => -$SPAN1P1"
345345
# shellcheck disable=2086
346346
$KPARTX $KPARTX_OPTS -d "/dev/mapper/$SPAN1" >&2
347347
wait_a_moment
@@ -352,68 +352,78 @@ current_state
352352
[[ -b "$LO2P1" ]]
353353
[[ ! -b "$SPAN1P1" ]]
354354

355+
step "delete partitions on DM device $SPAN2 => -$SPAN2P1"
355356
# shellcheck disable=2086
356357
$KPARTX $KPARTX_OPTS -d "/dev/mapper/$SPAN2"
357358
wait_a_moment
358-
359359
current_state
360360
[[ -b "$LO1P1" ]]
361361
[[ -b "$LO2P1" ]]
362362
[[ ! -b "$SPAN2P1" ]]
363363

364-
step "rename partitions on loop device with delimiter -spam"
364+
step "rename on $LO2 with delimiter -spam => $LO2P1 -> ${LO2P1//-foo/-spam}"
365365
# shellcheck disable=2086
366366
$KPARTX $KPARTX_OPTS -u -p -spam "$LO2"
367+
wait_a_moment
367368
current_state
368369
[[ ! -b "$LO2P1" ]]
369370
[[ -b "${LO2P1//-foo/-spam}" ]]
370371

371-
step "rename partitions on loop device with delimiter -foo"
372+
step "rename partitions on $LO2 with delimiter -foo => ${LO2P1//-foo/-spam} -> $LO2P1"
372373
# shellcheck disable=2086
373374
$KPARTX $KPARTX_OPTS -u -p -foo "$LO2"
375+
wait_a_moment
374376
current_state
375377
[[ -b "$LO2P1" ]]
376378
[[ ! -b "${LO2P1//-foo/-spam}" ]]
377379

378-
step "rename partitions on loop device with default delimiter"
380+
step "rename partitions on $LO2 with default delimiter => $LO2P1 -> $(partname "$LO2" 1)"
379381
# shellcheck disable=2086
380382
$KPARTX $KPARTX_OPTS -u "$LO2"
381-
#read a
383+
wait_a_moment
382384
current_state
383385
[[ ! -b "$LO2P1" ]]
384386
[[ -b "$(partname "$LO2" 1)" ]]
385387

386-
step "rename partitions on loop device with delimiter -foo"
388+
step "rename partitions on $LO2 with delimiter -foo => $(partname "$LO2" 1) -> $LO2P1"
387389
# shellcheck disable=2086
388390
$KPARTX $KPARTX_OPTS -u -p -foo "$LO2"
389391
current_state
390392
[[ -b "$LO2P1" ]]
391393
[[ ! -b "$(partname "$LO2" 1)" ]]
392394

393-
step "rename partitions on loop devices"
395+
step "rename partitions on $LO2 with delimiter spam => $LO2P1 -> ${LO2P1//-foo/spam} "
394396
# shellcheck disable=2086
395397
$KPARTX $KPARTX_OPTS -u -p spam "$LO2"
398+
wait_a_moment
399+
current_state
400+
[[ ! -b "$LO2P1" ]]
401+
[[ -b "${LO2P1//-foo/spam}" ]]
396402

397-
step "delete partitions on loop devices"
398-
403+
step "delete partitions on loop device $LO3"
399404
# shellcheck disable=2086
400405
$KPARTX $KPARTX_OPTS -d "$LO3"
406+
wait_a_moment
407+
current_state
401408

409+
step "delete partitions on file $FILE2 / $LO2"
402410
# This will also delete the loop device
403411
# shellcheck disable=2086
404412
$KPARTX $KPARTX_OPTS -d "$FILE2"
413+
wait_a_moment
414+
current_state
415+
416+
step "delete partitions on file $LO1"
405417
# shellcheck disable=2086
406418
$KPARTX $KPARTX_OPTS -d "$LO1"
407419
wait_a_moment
408-
409-
# ls -l /dev/mapper
410420
current_state
411421
[[ ! -b "$LO1P1" ]]
412-
# 'dmsetup remove -f $(basename "$SPAN1P1")'
413-
pop_cleanup
422+
423+
pop_cleanup # 'dmsetup remove -f $(basename "$SPAN1P1")'
414424
[[ ! -b "$LO2P1" ]]
415-
# '$CLEANUP_KPARTX $KPARTX_OPTS -f -d /dev/mapper/$SPAN1'
416-
pop_cleanup
425+
pop_cleanup # '$CLEANUP_KPARTX $KPARTX_OPTS -f -d /dev/mapper/$SPAN1'
426+
417427
# spans should not have been removed
418428
current_state
419429
[[ -b "/dev/mapper/$SPAN1" ]]

0 commit comments

Comments
 (0)