From: Marc Lehmann <schmorp@schmorp.de>
To: Calvin Walton <calvin.walton@kepstin.ca>
Cc: linux-btrfs@vger.kernel.org
Subject: Re: first mount(s) after unclean shutdown always fail, second attempt
Date: Sun, 12 Jul 2020 07:12:41 +0200 [thread overview]
Message-ID: <20200712051241.GC491@schmorp.de> (raw)
In-Reply-To: <96009f54f7548080513ab2100d420d82f50d4e90.camel@kepstin.ca>
On Wed, Jul 08, 2020 at 01:35:08PM -0400, Calvin Walton <calvin.walton@kepstin.ca> wrote:
> You shared kernel logs, but it would be helpful to see the systemd
> journal. One thing to note is that by default systemd has a timeout on
> mounts! It's entirely possible that as soon as the mount kernel thread
> becomes unblocked, it notices that systemd has sent a SIGTERM/SIGKILL
> and aborts the mount.
>
> See the documentation (man systemd.mount) and consider increasing or
> disabling the timeout on the affected mount units.
Good idea, systemd indeed KILLed the mount:
Jul 01 02:02:26 cerebro systemd[1]: cryptlocalvol.mount: Mount process still around after SIGKILL. Ignoring.
Jul 01 02:02:26 cerebro systemd[1]: cryptlocalvol.mount: Failed with result 'timeout'.
Jul 01 02:02:26 cerebro systemd[1]: Failed to mount /cryptlocalvol.
However, are btrfs mounts really interruptible? In any case, the
problem happens both for systemd-triggered mounts as well as for mount
commands entered interactively (and also for volumes where there is no
fstab/mount unit at all). For example, here is a case where the initial
systemd-controlled mount fails, and the interactively-entered "mount
/localvol" then fails once more and it only succeeds on the third attempt:
May 30 03:17:53 cerebro kernel: BTRFS info (device dm-7): disk space caching is enabled
May 30 03:17:53 cerebro kernel: BTRFS info (device dm-7): has skinny extents
May 30 03:19:23 cerebro systemd[1]: localvol.mount: Mounting timed out. Terminating.
May 30 03:20:53 cerebro systemd[1]: localvol.mount: Mount process timed out. Killing.
May 30 03:20:53 cerebro systemd[1]: localvol.mount: Killing process 1116 (mount) with signal SIGKILL.
May 30 03:22:23 cerebro systemd[1]: localvol.mount: Mount process still around after SIGKILL. Ignoring.
May 30 03:22:23 cerebro systemd[1]: localvol.mount: Failed with result 'timeout'.
May 30 03:22:23 cerebro systemd[1]: Failed to mount /localvol.
May 30 03:27:53 cerebro kernel: BTRFS error (device dm-7): open_ctree failed
[systemd-initiated mount failed here]
May 30 03:27:54 cerebro kernel: BTRFS info (device dm-7): turning on discard
May 30 03:27:54 cerebro kernel: BTRFS info (device dm-7): disk space caching is enabled
May 30 03:27:54 cerebro kernel: BTRFS info (device dm-7): has skinny extents
May 30 03:27:54 cerebro kernel: BTRFS error (device dm-7): open_ctree failed
[emergency-shell interactive mount failed here]
May 30 03:28:14 cerebro kernel: BTRFS info (device dm-7): turning on discard
May 30 03:28:14 cerebro kernel: BTRFS info (device dm-7): disk space caching is enabled
May 30 03:28:14 cerebro kernel: BTRFS info (device dm-7): has skinny extents
[third attempt succeeded]
May 30 03:40:04 cerebro systemd[1]: localvol.mount: Succeeded.
While looking at the case above, I notice that the second mount fails
practically instantly, and it was initiated practically the moment the
previous mount failed.
I think the reason is that systemd dropped me into the emergency
shell long before the (kernel) mount failed, and I likely entered the
interactive mount command long before the previous mount finished, which
could explain why the interactive mount appears to happen within one
second of the previous mount failure - it was probably running for minutes
already, waiting for some lock.
I have disabled the systemd mount timeout for the time being, to exclude
this case.
--
The choice of a Deliantra, the free code+content MORPG
-----==- _GNU_ http://www.deliantra.net
----==-- _ generation
---==---(_)__ __ ____ __ Marc Lehmann
--==---/ / _ \/ // /\ \/ / schmorp@schmorp.de
-=====/_/_//_/\_,_/ /_/\_\
prev parent reply other threads:[~2020-07-12 5:12 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-07-02 2:18 first mount(s) after unclean shutdown always fail, second attempt Marc Lehmann
2020-07-08 17:35 ` Calvin Walton
2020-07-12 5:12 ` Marc Lehmann [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20200712051241.GC491@schmorp.de \
--to=schmorp@schmorp.de \
--cc=calvin.walton@kepstin.ca \
--cc=linux-btrfs@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.