[systemd-devel] [PATCH] Re: fstab mounts get unmounted during boot (.device unit bouncing?) -- solution

Karel Zak kzak at redhat.com
Thu Feb 12 03:34:36 PST 2015


On Thu, Feb 12, 2015 at 12:25:33PM +0100, Karel Zak wrote:
> On Thu, Feb 12, 2015 at 10:40:15AM +0100, Martin Pitt wrote:
> > So explicitly specify the file that we actually want to parse.
> > 
> > [1] first boot after a distro upgrade, or a package bug, or administrators
> >     configuring it explicitly for some reason
> > 
> > https://launchpad.net/bugs/1419623
> > ---
> >  src/core/mount.c | 2 +-
> >  1 file changed, 1 insertion(+), 1 deletion(-)
> > 
> > diff --git a/src/core/mount.c b/src/core/mount.c
> > index f3977e6..61fd526 100644
> > --- a/src/core/mount.c
> > +++ b/src/core/mount.c
> > @@ -1566,7 +1566,7 @@ static int mount_load_proc_self_mountinfo(Manager *m, bool set_flags) {
> >          if (!tb || !itr)
> >                  return log_oom();
> >  
> > -        r = mnt_table_parse_mtab(tb, NULL);
> > +        r = mnt_table_parse_mtab(tb, "/proc/self/mountinfo");
> 
> 
> This is bad solution. It resolves the issue, but forces libmount to
> not read /run/mount/utab.
> 
> It would be better to ignore this problem for now, I'll very probably
> add a new build-system option to disable libmount mtab parsing at all.
> The heuristic which libmount uses to decide between mtab and mountinfo
> is unnecessary in mainstream distros.

I will also improve mnt_table_parse_mtab() to check if we read the
filesystems from kernel (from /proc) and if yes than it will always
read /run/mount/utab too. The result will be more robust for people
who use libmount with mtab parsing code.

    Karel

-- 
 Karel Zak  <kzak at redhat.com>
 http://karelzak.blogspot.com


More information about the systemd-devel mailing list