Add unified backtrace handling for storing a backtrace on file objects
(the first data object) and dirs. The backtrace store operation is
queued on the LogSegment (for performing the store on log segment
expire). We encode the backtrace on queue to avoid keeping a reference
around to the CInode, which may get dropped from the cache by the time
the log segment is expired (and the backtrace is written out).
Fetching the backtrace is implemented on the CInode.
Also allow incrementing/decrementing the DIRTYPARENT pin ref as needed,
instead of using a state semaphore to keep track of whether itsset or
not. This allows us to remove the STATE_DIRTYPARENT field on CInode.
Signed-off-by: Sam Lang <sam.lang@inktank.com> Reviewed-by: Greg Farnum <greg@inktank.com>