]> git.proxmox.com Git - mirror_ubuntu-hirsute-kernel.git/commitdiff
rcutorture: Check initrd/init instead of initrd only
authorWilly Tarreau <w@1wt.eu>
Sun, 9 Sep 2018 09:46:48 +0000 (11:46 +0200)
committerPaul E. McKenney <paulmck@linux.ibm.com>
Fri, 9 Nov 2018 05:52:55 +0000 (21:52 -0800)
If the build fails, we can end up with an empty initrd directory which
prevents the build script from operating again. Better rely on the
resulting init executable instead.

Signed-off-by: Willy Tarreau <w@1wt.eu>
Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
tools/testing/selftests/rcutorture/bin/mkinitrd.sh

index dbb6f0160281774235751d4fe22815fddec48558..56a56ea06983dd7136a224a87d94de448e8aab32 100755 (executable)
@@ -28,8 +28,8 @@ if [ ! -d "$D" ]; then
     echo >&2 "$D does not exist: Malformed kernel source tree?"
     exit 1
 fi
-if [ -d "$D/initrd" ]; then
-    echo "$D/initrd already exists, no need to create it"
+if [ -s "$D/initrd/init" ]; then
+    echo "$D/initrd/init already exists, no need to create it"
     exit 0
 fi
 
@@ -65,7 +65,7 @@ then
        # Filesystem creation
        dracut --force --no-hostonly --no-hostonly-cmdline --module "base" $T/initramfs.img
        cd $D
-       mkdir initrd
+       mkdir -p initrd
        cd initrd
        zcat $T/initramfs.img | cpio -id
        cp $T/init init
@@ -79,7 +79,7 @@ fi
 # future-proof than dracut.
 echo "Could not find dracut, attempting C initrd"
 cd $D
-mkdir initrd
+mkdir -p initrd
 cd initrd
 cat > init.c << '___EOF___'
 #include <unistd.h>