On 04/08/14 at 10:01am, Vivek Goyal wrote:
On Tue, Apr 08, 2014 at 01:15:26PM +0800, WANG Chao wrote:
> In current systemd implementation, nofail mount will not block
> local-fs.target, which means our kdump.sh (in dracut-pre-pivot.service)
> can't wait for nofail mount. And kdump.sh could run early than nofail
> mount happens.
>
> For short term, let's stop passing nofail to mount. As for
> sysroot.mount, since we have explicitly specify to wait for it, "nofail"
> isn't a problem.
>
> Signed-off-by: WANG Chao <chaowang(a)redhat.com>
Chao,
I see that we are passing rootflags=nofail. What's the effect of that?
Same effect as other mount. But since we will explicitly wait for
sysroot.mount in dracut-pre-pivot.service, we should be worried about
sysroot.mount. rootflags=nofail works as expected.
We also need to specify in chagnelog the flip side of the patch. That
is now in case of failure, we probably will not get control and I think
systemd can put us in rescue mode.
No, we disable dropping to shell. So we hang in case of such failure.
I talked to lennart and he was open to the idea of resue being replaced
by something else. I will send him a mail to implement that. After that
I am hoping that we can replace systemd rescue with something kdump
specific so that we get control in case of failure and then we can
run our policies.
Before we have such facility in systemd, do you think we should remove
"nofail"? Or we just leave as it is because remove nofail will lead
failure to hang?
Thanks
WANG Chao
Thanks
Vivek
> ---
> mkdumprd | 4 +++-
> 1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/mkdumprd b/mkdumprd
> index 84f1e18..6e9dc47 100644
> --- a/mkdumprd
> +++ b/mkdumprd
> @@ -103,7 +103,9 @@ to_mount() {
> _t=$(findmnt -k -f -n -r -o TARGET,FSTYPE $_dev)
> _o=$(findmnt -k -f -n -r -o OPTIONS $_dev)
> _o=${_o/#ro/rw} #mount fs target as rw in 2nd kernel
> - _o="${_o},nofail" #with nofail set, systemd won't block for mount
failure
> + # "nofail" mount could be run later than kdump.sh. So we don't
pass nofail
> + # for short term.
> + #_o="${_o},nofail" #with nofail set, systemd won't block for
mount failure
> _mntopts="$_t $_o"
> #for non-nfs _dev converting to use udev persistent name
> if [ -b "$_s" ]; then
> --
> 1.8.5.3