Return cache_entry refs in dirent populate callback.

The dirent populate callback routine leaked cache entry
references, which are returned indirectly from
cache_inode_new_entry.

The desired behavior is to return each reference immediately.
The LRU mechanism and policies will take care of its lifetime
in the entry cache.

For improved readability, rename the callback from "populate"
to "populate_dirent."  Simplify error handling, just return
false at the error point, since the error label did no work.
Use STYLE(9) return.

Thanks to Dominique Martinet <dominique.martinet@cea.fr> for
finding and reporting this.

Signed-off-by: Matt Benjamin <matt@linuxbox.com>
Avoid overrunning buffer strcaller if getpeername fails.

Typo.

Signed-off-by: Matt Benjamin <matt@linuxbox.com>
Initialize grp_tail proc_export (werror).

The surrounding code must assure that grp_tail actually
has a value in all cases, I've not attempted to verify
this.

Signed-off-by: Matt Benjamin <matt@linuxbox.com>
Assign RES_READDIR3_OK invariantly (werror).

GCC decided that RES_READDIR3 might be used uninitialized.
Just do so in the prologue.

Signed-off-by: Matt Benjamin <matt@linuxbox.com>
Break out cast pointing into sockaddr_in6.s6_addr (strict aliasing).

It is not clear to me that the flagged code was incorrect, or that
it presented a real aliasing problem, but gcc 4.7.2 seems to think
so, perhaps due to the nested casts.

Signed-off-by: Matt Benjamin <matt@linuxbox.com>
Break out cast pointing into sockaddr_in6.s6_addr (strict aliasing).

It is not clear to me that the flagged code was incorrect, or that
it presented a real aliasing problem, but gcc 4.7.2 seems to think
so, perhaps due to the nested casts.

Signed-off-by: Matt Benjamin <matt@linuxbox.com>