[PATCH] ldbdump, and thanks for tdbdump -e!
Andrew Bartlett
abartlet at samba.org
Mon Oct 29 23:35:47 MDT 2012
On Tue, 2012-10-30 at 01:33 -0400, Scott Lovenberg wrote:
>
> On Tue, Oct 30, 2012 at 1:25 AM, Andrew Bartlett <abartlet at samba.org>
> wrote:
> Rusty,
>
> I figured you might be interested to see what I've done with
> the
> tdb_rescue API you built a few weeks ago. Still trying to
> sort out the
> DB that we worked, I built ldbdump. It uses the backend
> ldb_pack
> functions from ldb_tdb as well as the Samba syntax functions
> to
> determine if the potential DB record passed to the hook is a
> valid ldb
> record.
>
> This eliminated around 12 more records - indeed all the
> 'duplicate'
> records you found could be eliminated as actually not being
> valid
> records at all.
>
> Thank you very much for the tdb_rescue API and tdbdump -e, it
> would not
> be possible to recover so much of the data without it.
>
> Naturally, it will need a manpage and popt conversion before
> it is
> installed, but for now it may be the vital tool for some other
> unfortunate site that forgets to enable barrier=1 on their
> ext3
> partitions.
>
> Silly question, why does traverse_fn() return 0 if ltdb_unpack_data()
> doesn't return 0? Wouldn't it make sense to propagate the error code
> instead of just outputting to stderr and returning success?
Because we are dealing with a corrupt database, this happens often, and
so we don't wish to terminate the traversal (which is what returning
non-zero indicates).
Andrew Bartlett
--
Andrew Bartlett http://samba.org/~abartlet/
Authentication Developer, Samba Team http://samba.org
More information about the samba-technical
mailing list