> FYI, I'm working on a workaround for broken devices.
>  As you note,
> ome disks flat-out lie: you issue the
> synchronize-cache command,
> they say "got it, boss", yet the data is still not on
> stable storage.
> Why do they do this?  Because "it performs better".
>  Well, duh --
> ou can make stuff *really* fast if it doesn't have to
> be correct.
> 

> The uberblock ring buffer in ZFS gives us a way to
> cope with this,
> as long as we don't reuse freed blocks for a few
> transaction groups.
> The basic idea: if we can't read the pool startign
> from the most
> recent uberblock, then we should be able to use the
> one before it,
> or the one before that, etc, as long as we haven't
> yet reused any
> blocks that were freed in those earlier txgs.  This
> allows us to
> use the normal load on the pool, plus the passage of
> time, as a
> displacement flush for disk caches that ignore the
> sync command.
> 
> If we go back far enough in (txg) time, we will
> eventually find an
> uberblock all of whose dependent data blocks have
> make it to disk.
> I'll run tests with known-broken disks to determine
> how far back we
> need to go in practice -- I'll bet one txg is almost
> always enough.
> 
> Jeff

Hi Jeff,
we just losed 2 pools on snv91.
Any news about your workaround to recover pools discarding last txg?

thanks
gino
-- 
This message posted from opensolaris.org
_______________________________________________
zfs-discuss mailing list
zfs-discuss@opensolaris.org
http://mail.opensolaris.org/mailman/listinfo/zfs-discuss

Reply via email to