DragonFly-2.3.1.868.g90eca master sbin/hammer cmd_expand.c sys/vfs/hammer hammer_expand.c hammer_ioctl.h

Matthew Dillon dillon at apollo.backplane.com
Tue Jul 21 11:18:15 PDT 2009


:In case of a failure? Sure, but its not critical, as no data loss will
:happen. Its easy enough to "release" the volume (once this is
:implemented) and retry again.
:
:When formatting layer2 while the volume is online, I better
:generate UNDOs for layer2 entries as well, otherwise really bad
:things might happen, like layer1 is there but layer2 entries are
:not initialized. And thats what I am doing.

    Since the layer1 entry has not been set up yet the layer2
    entries are not addressable, so no UNDO is needed to build
    the layer2 entries as long as you flush them to disk before
    building the layer1 entry.

:The amount of data that I am writing is fairly small, approx. 8 MB
:for a volume up to 4 TB in size (excluding UNDO record overheads),
:so I don't think that this matters much.

    Yes, but ultimately you don't want the feature to depend on the
    disk being 'small'.  A single volume can be up to 4096 TB.  All
    this means is that each layer1 iteration simply needs to do the
    undo full checks and flush.

:Exactly what I am doing.
:
:Thanks! I'll try some flushing in-between writes. Hopefully this helps.
:
:Regards,
:
:   Michael

    If it doesn't I'll put together a test on one of my test boxes and
    track it down.

					-Matt
					Matthew Dillon 
					<dillon at backplane.com>





More information about the Commits mailing list