On Fri, Nov 13, 2009 at 03:21:02PM -0500, Anurag S. Maskey wrote:
> With Alan's help, we have finally found the cause and fixed this
> bug.  The changes that we discussed during the course of this bug
> work are included in this bug fix.
> 
> 12567 [RC5] after switching to User profile all interfaces are
> offline due to startd nameservices-related hang
> http://defect.opensolaris.org/bz/show_bug.cgi?id=12567
> 
> The changes include:
> 
> 1. add project=default to netadm/netcfg users in user_attr
> 2. add supp_groups astring value set to 'netadm' to the method contexts of 
> nwam
> and location:default, since both these run as non-root user, preventing
> fallback to NIS to retrieve supplemental group data.
> 3. in do_ns() in net-loc, copy nsswitch.files to nsswitch.conf prior to
> disabling active name services
> 4. if no IP NCUs are up, activate NoNet
> 
> and also,
> 
> 5. release the active_ncp_mutex mutex on error in
> nwamd_ncu_handle_init_event().  This was causing a deadlock in the
> reboot after bfu and no interfaces were coming online (even hanging
> nwamadm list).

Looks like you did not have to change the stop method for nis/client?
That's good, that one worried me a bit.

> The webrev is at
> http://zhadum.east/export/ws/am223141/temp/nwam1-work/webrev/.

Your changes look great.  I did notice two other things in looking
at the webrev, though:

loc.c: One thing that pops out now is that, in the case where at least
        one ncu is online, we end up doing *two* walks of the NCU list.
        It would be nice if we could figure out a way to collapse those;
        but that's not a requirement for this bug fix, I don't think.

net-loc: This was not introduced by your fix, but I notice in looking
        at this that we don't seem to set nsswitch.conf in cases where
        the user doesn't specify it.  It looks like we start working
        on that in lines 349-356, but then nothing else is done.  I
        think this does need to be fixed now, because your change means
        that as soon as we do the first location switch, nsswitch.conf
        will be nsswitch.files, and so that is what will be used for
        any location that doesn't provide an explicit file pointer.

-renee

Reply via email to