client: reinstate clearing of *fhp in ll_create and don't allow fhp == NULL
The logic in ll_create relies on *fhp being zeroed out on entry into the
function, but that's no longer being done since commit
e08210dda. Fix
this by reinstating that initialization.
Luckily, it looks like the two main callers (FUSE and nfs-ganesha)
already handle this safely, but the SyntheticClient does not. Move the
zeroing of the pointer into ll_create, and allow callers to pass in a
pointer to an uninitialized value. With this, we can remove the
initialization in the fuse client code as well.
Also, we can get rid of some unneeded NULL pointer checks if we don't
allow callers to pass in a NULL fhp pointer. As best I can tell, no one
does that currently and no comments over ceph_ll_create seem to claim
that this should be allowed.
Signed-off-by: Jeff Layton <jlayton@redhat.com>