[PATCH] ldbdump, and thanks for tdbdump -e!
scott.lovenberg at gmail.com
Mon Oct 29 23:42:00 MDT 2012
On Tue, Oct 30, 2012 at 1:35 AM, Andrew Bartlett <abartlet at samba.org> wrote:
> 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
Ah, that makes sense. Sorry for the noise.
Peace and Blessings,
More information about the samba-technical