Re: AutoFS fails to add new entries from auto.master after SIGHUP

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, 2013-03-05 at 19:05 -0300, Leonardo Chiquitto wrote:
> On Tue, Mar 5, 2013 at 12:54 AM, Ian Kent <raven@xxxxxxxxxx> wrote:
> > On Fri, 2013-03-01 at 18:42 -0300, Leonardo Chiquitto wrote:
> >> On Fri, Mar 1, 2013 at 5:44 AM, Ian Kent <raven@xxxxxxxxxx> wrote:
> >> > On Wed, 2013-02-27 at 22:49 -0300, Leonardo Chiquitto wrote:
> >> >> Hello,
> >> >>
> >> >> I've got a bug report describing a case where AutoFS fails to read new
> >> >> entries from /etc/auto.master after a SIGHUP. Although the problem
> >> >> was reported in an older version of automount, it is reproducible using
> >> >> the latest revision from git.
> >> >>
> >> >> How to reproduce:
> >> >>
> >> >> 1. Add at least two sources of AutoFS maps to /etc/nsswitch.conf. I've
> >> >> tested only with "files nis". You don't need to configure NIS/YP, just
> >> >> having it listed there in the configuration is enough.
> >> >>
> >> >> 2. Start the automounter with a simple /etc/auto.master:
> >> >>
> >> >> /nfs1 /etc/auto.test1
> >> >> +auto.master
> >> >>
> >> >> 3. Add another entry to /etc/auto.master:
> >> >>
> >> >> /nfs1 /etc/auto.test1
> >> >> /nfs2 /etc/auto.test2
> >> >> +auto.master
> >> >>
> >> >> and reload the daemon. Notice that although AutoFS reads /etc/auto.test2,
> >> >> /nfs2 is not created/mounted.
> >> >>
> >> >> 4. Try to stop the daemon cleanly (SIGTERM only). You'll notice that it won't
> >> >> quit. SIGKILL is necessary.
> >> >
> >> > While the failure to exit when this occurs is a worry probably due to
> >> > the presence of a master map entry in the list that was not acted upon.
> >> > We probably should come up with way to produce this problem after the
> >> > re-read problem is fixed so we can check what is actually happening.
> >>
> >> Understood. I'll try to write a patch to make it ignore these "partial" entries
> >> when exiting.
> >>
> >> > In the mean time have a look at this patch.
> >> >
> >> > autofs-5.0.7 - fix map read fail incorrectly set on master re-read
> >>
> >> I tried it here and unfortunately I'm still able to reproduce the problem.
> >> I haven't had time to debug it further yet, but my *impression* is that
> >> when reading the entry "+auto.master" from /etc/auto.master it
> >> fails with nss source "files" due to the recursion and sets read_fail to 1.
> >> Next it tries with nss source "nis" and succeeds, lookup_nss_read_master()
> >> returns SUCCESS and the "read_fail = 0" added to lookup_read_master()
> >> is never executed.
> >
> > Right, I think that means that to reproduce the problem a second map
> > source must be specified and the read must must succeed. I used a second
> > source that failed when I did this but using one that succeeds does
> > produce the bad behaviour.
> >
> > The principle is still the same though. I think it is not correct to
> > return a failure for the self included file map since we essentially
> > want to ignore that source.
> >
> > The problem of entries in the master map mounts list that haven't been
> > completely setup is a bit more difficult to deal with. On the face of
> > it, for indirect mounts, simply continuing to the next entry if it isn't
> > mounted should be enough but I'm not yet clear on the implications for
> > the direct map.
> >
> > How about trying this patch:
> >
> > autofs-5.0.7 - dont fail on master map self include
> 
> Hello Ian,
> 
> I just tested it and it fails differently: when reading the entry "+auto.master"
> from /etc/auto.master it first tries nss source "files" and succeed (because
> recursion is now handled as !failure). This makes lookup_nss_read_master()
> return even earlier, not even trying the second nss source:
> 
>  220         /* First one gets it */
>  221         head = &nsslist;
>  222         list_for_each(p, head) {
> 
> (...)
> 
>  262                 status = check_nss_result(this, result);
>  263                 if (status >= 0) {
>  264                         free_sources(&nsslist);
>  265                         return status;
>  266                 }
> 
> In my setup, this means all maps in (NIS) auto.master are not read
> when AutoFS starts.

Ahh ... right, I get it.

> 
> Could you reconsider the patch that adds NSS_STATUS_RECURSE?
> Or there is something totally wrong in it and I'm not seeing?

Will do.

Ian

--
To unsubscribe from this list: send the line "unsubscribe autofs" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Filesystem Development]     [Linux Ext4]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux