On 09/10/2009 03:42 PM, Jeff Layton wrote: > A couple of years ago, Bruce committed a patch to make knfsd send > unsigned uid's and gid's to idmapd, rather than signed values. Part > of that earlier discussion is here: > > http://linux-nfs.org/pipermail/nfsv4/2007-December/007321.html > > While this fixed the immediate problem, it doesn't appear that anything > was ever done to make idmapd continue working when it gets a bogus > upcall. > > idmapd uses libevent for its main event handling loop. When idmapd gets > an upcall from knfsd it will service the request and then rearm the > event by calling event_add on the event structure again. > > When it hits an error though, it returns in most cases w/o rearming the > event. That prevents idmapd from servicing any further requests from > knfsd. > > I've made another change too. If an error is encountered while reading > the channel file, this patch has it close and reopen the file prior to > rearming the event. > > I've not been able to test this patch directly, but I have tested a > backport of it to earlier idmapd code and verified that it did prevent > idmapd from hanging when it got a badly formatted upcall from knfsd. > > Signed-off-by: Jeff Layton <jlayton@xxxxxxxxxx> Committed... steved. -- To unsubscribe from this list: send the line "unsubscribe linux-nfs" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html