[CRIU] [PATCH] systemd-autofs-restart.sh: explicitly return result from get_fs_type

Stanislav Kinsburskiy skinsbursky at virtuozzo.com
Thu Oct 6 06:21:45 PDT 2016


This helper uses other binaries (like awk), which can fail or be killed.
It this case might be, that no mountpoint is found.
Or, on other hand, the whole mount point path is wrong, and is absend in
mountinfo.
Return explicit error in this case.
Without this patch, script will proceed further, and, since returned value is
empty, it doesn't equal to "autofs", so script will try to bind-mount autofs
mount, resulting in hung.

Signed-off-by: Stanislav Kinsburskiy <skinsbursky at virtuozzo.com>
---
 scripts/systemd-autofs-restart.sh |    8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/scripts/systemd-autofs-restart.sh b/scripts/systemd-autofs-restart.sh
index 7bab4f4..95f1d0b 100755
--- a/scripts/systemd-autofs-restart.sh
+++ b/scripts/systemd-autofs-restart.sh
@@ -74,7 +74,13 @@ function get_fs_type {
 		top_mount_fs_type=$mnt_fs_type
 	done < "/proc/$CRTOOLS_INIT_PID/mountinfo"
 
+	if [ -z "$top_mount_fs_type" ]; then
+		echo "Failed to find $mountpoint mountpoint"
+		return 1
+	fi
+
 	echo $top_mount_fs_type
+	return 0
 }
 
 function bind_mount {
@@ -93,7 +99,7 @@ function save_mountpoint {
 
 	top_mount_fs_type=$(get_fs_type $mountpoint)
 	if [ $? -ne 0 ]; then
-		echo "Failed to discover $mountpoint mount point type"
+		echo "$top_mount_fs_type"
 		return
 	fi
 



More information about the CRIU mailing list