On Wed, 24 Sep 2025, Mark Hindley wrote:

>if it is achieving what you wanted or could be refined?

Looking again at the commits, I see it doesn’t.

I wish $FSCK_LOGFILE weren’t a variable, that would make
things easier.

The test -e was added to catch a specific failure mode,
according to the commit message I appear to have written ;)

Perhaps this? (The conditionals are written that way owing
to the trickiness of /bin/sh vs. more powerful shells and
to that it needs to be able to run under 'set -e' erroring
only in the correct places.)

diff --git a/debian/src/initscripts/lib/init/mount-functions.sh 
b/debian/src/initscripts/lib/init/mount-functions.sh
index 8e9a80e4..5489c834 100644
--- a/debian/src/initscripts/lib/init/mount-functions.sh
+++ b/debian/src/initscripts/lib/init/mount-functions.sh
@@ -722,10 +722,18 @@ is_fastboot_active() {
 # This function does not actually belong here; it is duct-tape solution
 # for #901289.
 logsave_best_effort() {
-       if [ -x /sbin/logsave ] && [ -e "${FSCK_LOGFILE}" ]; then
-               logsave -s "${FSCK_LOGFILE}" "$@"
+       local can_use_logsave
+
+       can_use_logsave=true
+       test -e "$FSCK_LOGFILE" || if test -d "$(dirname "$FSCK_LOGFILE")"; then
+               can_use_logsave=false
+       fi
+       test -x /sbin/logsave || can_use_logsave=false
+
+       if $can_use_logsave; then
+               logsave -s "$FSCK_LOGFILE" "$@"
        else
-               log_failure_msg "Cannot persist the following output on disc"
+               log_warning_msg 'Cannot persist the following output on disc'
                "$@"
        fi
 }

Untested, though.

bye,
//mirabilos
-- 
FWIW, I'm quite impressed with mksh interactively. I thought it was much
*much* more bare bones. But it turns out it beats the living hell out of
ksh93 in that respect. I'd even consider it for my daily use if I hadn't
wasted half my life on my zsh setup. :-) -- Frank Terbeck in #!/bin/mksh

Reply via email to