overlay/036: filter busy mount message
authorEryu Guan <eguan@redhat.com>
Tue, 14 Nov 2017 08:56:00 +0000 (16:56 +0800)
committerEryu Guan <eguan@redhat.com>
Sun, 26 Nov 2017 07:38:55 +0000 (15:38 +0800)
util-linux v2.30 changed error message of a busy mount and caused
overlay/036 to fail. e.g.

 - mount: <device> is already mounted or <mountpoint> busy
 + mount: <mountpoint>: <device> already mounted or mount point busy.

Filter the mount output by a newly introduced _filter_busy_mount
into a unified format.

   mount: device already mounted or mount point busy

Reviewed-by: Amir Goldstein <amir73il@gmail.com>
Signed-off-by: Eryu Guan <eguan@redhat.com>
common/filter
tests/overlay/036
tests/overlay/036.out

index 0d3875cc6cdc05eb887bc8e1b148f734271acde8..a212c09aa13866025e2ff7a901f00764cba796d4 100644 (file)
@@ -423,6 +423,18 @@ _filter_error_mount()
        sed -e "s/mount:\(.*failed:\)/mount:/" | _filter_ending_dot
 }
 
+# Similar to _filter_error_mount, filter a busy mount output.
+# Turn both old (prior to util-linux v2.30) and new (v2.30 and later) format to
+# a simple one. e.g.
+# old: mount: <device> is already mounted or <mountpoint> busy
+# new: mount: <mountpoint>: <device> already mounted or mount point busy.
+# filtered: mount: device already mounted or mount point busy
+_filter_busy_mount()
+{
+       sed -e "s/.*: .* already mounted or .* busy/mount: device already mounted or mount point busy/" | \
+               _filter_ending_dot
+}
+
 _filter_od()
 {
        BLOCK_SIZE=$(_get_block_size $SCRATCH_MNT)
index 544d4e4eaa87edf44bea45a9430b2978a96d06de..e0c13ae88c9297e14c3fea3100c4e828cef6ead9 100755 (executable)
@@ -103,12 +103,12 @@ _overlay_mount_dirs $lowerdir2 $upperdir2 $workdir \
 # Try to mount another overlay with the same upperdir
 # with index=on - expect EBUSY
 _overlay_mount_dirs $lowerdir2 $upperdir $workdir2 \
-                   overlay2 $SCRATCH_MNT -oindex=on 2>&1 | _filter_scratch
+           overlay2 $SCRATCH_MNT -oindex=on 2>&1 | _filter_busy_mount
 
 # Try to mount another overlay with the same workdir
 # with index=on - expect EBUSY
 _overlay_mount_dirs $lowerdir2 $upperdir2 $workdir \
-                   overlay3 $SCRATCH_MNT -oindex=on 2>&1 | _filter_scratch
+           overlay3 $SCRATCH_MNT -oindex=on 2>&1 | _filter_busy_mount
 
 
 # success, all done
index 51746114db1cfdb6fc3c83f52560cfb1ba4d92e9..0d266f1b216ef0fe1e0b349be495325a09e006d2 100644 (file)
@@ -1,3 +1,3 @@
 QA output created by 036
-mount: overlay2 is already mounted or SCRATCH_MNT busy
-mount: overlay3 is already mounted or SCRATCH_MNT busy
+mount: device already mounted or mount point busy
+mount: device already mounted or mount point busy