mds: fix export_prep trace format
mds: fix export_prep trace format

The prep message includes a spanning tree in the interior of the subtree
that includes all parent inodes of bounding dirfrags.  That used to look
like
	df dentry inode (dir dentry inode)*

The code to generate those traces was stopping if the df->ino had already
been included.  The problem was that we may have done the that inode on a
different dirfrag.

Change this to be

	df ('-' | ('f' dir | 'd') dentry inode (dir dentry inode)*)

so that we can start with a dentry (already had the dirfrag, same check
as before) or a dirfrag (already had the inode, the new case), or a '-'
(nothing at all).  A single byte is used to indicate which it is and how
to start decoding.

Signed-off-by: Sage Weil <6dd34506bbd5e58221bbb3e4732d97c91f02277b@newdream.net>

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