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
