On Wed, Jun 25, 2014 at 7:15 AM, Keith Wesolowski <
[email protected]> wrote:

> On Wed, Jun 25, 2014 at 01:47:54PM +0200, Jan Schmidt via illumos-zfs
> wrote:
>
> > That patch looks somewhat promising, though I have not tried it yet. How
> did you
> > decide which of the overlapping space map ranges to drop? From my
> understanding,
> > either range might be the one that's currently correct, isn't it?
>
> It's actually worse than that, because there are a lot of different
> cases, depending on whether the overlapping ranges are alloc or free,
> whether there are overlapping sub-ranges within them, whether they're
> partial or complete overlaps, etc.  And then there is the possibility of
> subsequent ranges that partially overlap the previous bad ones.  You
> didn't mention which form of corruption you're hitting or how severe it
> is, so I don't know which cases might apply to you.  zdb is helpful in
> getting a handle on that.
>
> I have a different patch (George gets most of the credit, I take most of
> the blame), that I used to recover spacemap corruption we had at Joyent
> (albeit from a different cause, 4504).  It's intended for one-time use;
> you boot it, it fixes the spacemaps by leaking ambiguous regions,
> preferring to lose a little space rather than risk later overwriting of
> data, and condenses them back out, then you reboot onto normal bits
> again.  This covers a lot more cases; I tested many of them, but there
> may yet be edge cases that aren't addressed.  I recommend building a
> libzpool with this first and trying zdb with that before booting with
> the zfs module.
>
> This comes with absolutely no warranty of any kind and should be used
> only where dumping the data somewhere else (harder than you might think,
> since you can't create snapshots in read-only mode)


It shouldn't be impossible, because you can "zfs send" a filesystem when
the pool is readonly!  (since the fix for 4368 zfs send filesystems from
readonly pools, December 2013)

--matt


> and recreating the
> pool is not an option.  It's on you to understand what it does and why
> and to satisfy yourself that it will solve your problem safely before
> using it.  The comments might help a little, but you're really on your
> own.
>
> See
>
> https://github.com/wesolows/illumos-joyent/commit/dc4d7e06c8e0af213619f0aa517d819172911005
>
_______________________________________________
developer mailing list
[email protected]
http://lists.open-zfs.org/mailman/listinfo/developer

Reply via email to