mds: discover snapped paths on retried ops
mds: discover snapped paths on retried ops

This is intended to mitigate a livelock issue with traversing to snapped
metadata.  The client specifies all snap requests relative to a non-snap
inode.  The traversal through the snapped portion of the namespace will
normally happen on the auth node, but the actual target may be on another
node that does not have that portion of the namespace.  To avoid indefinite
request ping-pong, the mds will begin to discover and replicate the snapped
path components if the request has been retried.

This doesn't perform optimally, but it will at least work.

ajnelson/ceph,ajnelson/ceph,ajnelson/ceph,ajnelson/ceph,ajnelson/ceph,ajnelson/ceph