On Mon, Jan 16, 2012 at 11:34 AM, Jim Klimov <jimkli...@cos.ru> wrote:

> 2012-01-16 23:14, Matthew Ahrens пишет:
>
>> On Thu, Jan 12, 2012 at 5:00 PM, Jim Klimov <jimkli...@cos.ru
>> <mailto:jimkli...@cos.ru>> wrote:
>>
>>    While reading about zfs on-disk formats, I wondered once again
>>    why is it not possible to create a snapshot on existing data,
>>    not of the current TXG but of some older point-in-time?
>>
>>
>> It is not possible because the older data may no longer exist on-disk.
>>  For example, you want to take a snapshot from 10 txg's ago.  But since
>> then we have created a new file, which modified the containing
>> directory.  So we freed the directory block from 10 txg's ago.  That
>> freed block is then a candidate for reallocation.
>>
>> Existence of old uberblocks in the ring buffer does not indicate that
>> the data they reference is still valid.  This is the reason that "zpool
>> import -F" does not always work.
>>
>
> Hmmm... the way I got it (but again have no prooflinks handy)
> was that ZFS "recently" got a deferred-reuse feature to just
> guarantee those rollbacks, basically. I am not sure which
> builds or distros that might be included in.
>
> If you authoritatively say it's not there (or not in illumos),
> I'm going to trust you ;)
>

It's definitely not there in Illumos.  See TXG_DEFER_SIZE.  There was talk
of changing it at Oracle, don't know if that ever happened.  If you have a
S11 system you could probably use mdb to look at the size of the
ms_defermap.

--matt
_______________________________________________
zfs-discuss mailing list
zfs-discuss@opensolaris.org
http://mail.opensolaris.org/mailman/listinfo/zfs-discuss

Reply via email to