On Fri, 20 Sep 2024, Florent Rougon wrote:
Le 20/09/2024, Tim Woodall <debianu...@woodall.me.uk> a écrit:
Because the script will abort after the mount fails.
root@dirac:~# cat test.sh
#!/bin/bash
set -e
mount /boot/efi2
echo "do important stuff"
root@dirac:~# ./test.sh
mount: /boot/efi2: /dev/sda2 already mounted on /boot/efi2.
dmesg(1) may have more information after failed mount system call.
Note that do important stuff is never reached.
That's interesting because my system doesn't behave the same. I had of
course checked, before writing my first message, that 'mount /boot/efi2'
returns exit status 0 even when /boot/efi2 is already mounted. With your
script (called foo.sh here), here is what I get:
# mount | grep efi2
/dev/sda1 on /boot/efi2 type vfat
(rw,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=ascii,shortname=mixed,utf8,errors=remount-ro)
# /tmp/foo.sh
do important stuff
# mount | grep efi2
/dev/sda1 on /boot/efi2 type vfat
(rw,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=ascii,shortname=mixed,utf8,errors=remount-ro)
/dev/sda1 on /boot/efi2 type vfat
(rw,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=ascii,shortname=mixed,utf8,errors=remount-ro)
#
Every invocation adds a new, duplicate entry in the output of 'mount'.
This is Debian sid amd64; /usr/bin/mount is from 'mount' package version
2.40.2-8.
That's very interesting and looks like it's probably a kernel change.
Tim.