DragonFly commits List (threaded) for 2009-07
Re: DragonFly-188.8.131.528.g90eca master sbin/hammer cmd_expand.c sys/vfs/hammer hammer_expand.c hammer_ioctl.h
: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.
If it doesn't I'll put together a test on one of my test boxes and
track it down.