Hello, I think there is a bug in /etc/init.d/mount-ro, it calls fuser from do_unmount with the command: "timeout -k 10 -sKILL 60 fuser -m /" -- This command returns all the kernel processes too. Because of this, the case statement in rc-mount.sh is always matching on the current process and never goes to the other scenarios mentioned. case " $pids " in *" $$ "*) eend 1 "failed because we are using" \ "$mnt" /bin/bash retry=0;; " - ") eend 1 "returned -" retry=0;; " ") eend 1 "in use but fuser finds nothing" retry=0;; *) if [ $retry -le 0 ]; then eend 1 "......failed to $cmd $mnt after 4 retries" else local sig="TERM" : $(( retry -= 1 )) [ $retry = 1 ] && sig="KILL" set -o verbose set -o xtrace fuser $f_kill$sig -k $f_opts \ "$mnt" >/dev/null 2>&1 sleep 1 set +o verbose set +o xtrace fi ;; esac Thanks Joe Reproducible: Always
Created attachment 383170 [details] updated rc-mount.sh
*** This bug has been marked as a duplicate of bug 489178 ***