]> git.ipfire.org Git - thirdparty/xfsprogs-dev.git/commit
metadump: walk single fsb objects a block at a time
authorDave Chinner <dchinner@redhat.com>
Mon, 3 Feb 2014 22:41:41 +0000 (09:41 +1100)
committerDave Chinner <david@fromorbit.com>
Mon, 3 Feb 2014 22:41:41 +0000 (09:41 +1100)
commited737480ad01533c5c9f0cdb7615b566c8c5ee42
tree0a8171dcf9e331941f8351bf54323cb4536b0424
parentd452ae4d7764ec747db7a415563626c652b34a0c
metadump: walk single fsb objects a block at a time

To be able to support arbitrary discontiguous extents in multi-block
objects, we need to be able to process a single object at a time
presented as a single flat buffer. Right now we pass an arbitrary
extent and have the individal object processing functions break it
up and keep track of inter-call state.

This greatly complicates the processing of directory objects, such
that certain formats are simply not handled at all. Instead, for
single block objects loop over the extent a block at a time, feeding
a whole object to the processing function and hence making the
extent walking generic instead of per object.

At thsi point multi-block directory objects still need to use the
existing code, so duplicate the old single block object code into it
so we can fix it up properly. This means directory block processing
can't be fully cleaned up yet.

Signed-off-by: Dave Chinner <dchinner@redhat.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Dave Chinner <david@fromorbit.com>
db/metadump.c