> that's only 98 blocks of 8192 bytes, not 128 as you mention.

Sorry, I got confused. It's 98 blocks on arena partition and
128 blocks on isect partition.

I just tried. This is what I did.

The goal is to manually recopy the first arena from
the first Venti (arenas1.img) to the second Venti (arenas2.img).

It will work for you as long as you adjust the partition
names, the number of arenas and the sizes.

# first venti

% dd -if /dev/zero -of arenas1.img -bs 8192 -count 131072
% dd -if /dev/zero -of isect1.img -bs 8192 -count 16384
% dd -if /dev/zero -of bloom1.img -bs 8192 -count 8192
% venti/fmtarenas arenas arenas1.img
% venti/fmtisect isect isect1.img
% venti/fmtbloom bloom1.img
% echo 'index main
    isect isect1.img
    arenas arenas1.img
    bloom bloom1.img' | venti/conf -w arenas1.img
% venti/fmtindex arenas1.img
% venti=127.1
% venti/venti -c arenas1.img -m 20 -h tcp!127.1!8000
% vac /sys/src/9/pc
% hget http://127.1:8000/index
index=main version=1 blocksize=8192 tabsize=524288
    buckets=16287 div=263706
    sect=isect for buckets [0,16287) buckmax=215 arena=arenas0 at index 
[1048576,537903104)
    arena='arenas0' on arenas1.img at [802816,537673728)
    version=5 created=1327069595 modified=1327069627
    written: clumps=669 compressed clumps=600 data=4,251,763 compressed 
data=1,174,341 storage=1,216,488
    indexed: clumps=0 compressed clumps=0 data=0 compressed data=0 storage=0
% venti/sync
% Kill venti | rc
% bc
802816/8192 = 98
537673728/8192 = 65634
65634-98 = 65536

# second venti

% dd -if /dev/zero -of arenas2.img -bs 8192 -count 65633
% dd -if /dev/zero -of isect2.img -bs 8192 -count 16384
% dd -if /dev/zero -of bloom2.img -bs 8192 -count 8192
% venti/fmtarenas arenas arenas2.img
% venti/fmtisect isect isect2.img
% venti/fmtbloom bloom2.img
% echo 'index main
    isect isect2.img
    arenas arenas2.img
    bloom bloom2.img' | venti/conf -w arenas2.img
% venti/fmtindex arenas2.img
% dd -if arenas2.img -of arenapart -bs 8192 -count 97
% dd -if arenas1.img -of arenas -bs 8192 -iseek 97 -count 65536
% cat arenapart arenas > arenas2.img
% rm -f arenapart arenas
% venti/buildindex -b arenas2.img
0 clumps, 16,287 buckets
2012/0120 14:29:29 read index
venti/buildindex: brand-new index, no work to do
2012/0120 14:29:29 arena arenas0: 669 entries
% venti=127.1
% venti/venti -c arenas2.img -m 20 -h tcp!127.1!8000
term% hget http://127.1:8000/index
index=main version=1 blocksize=8192 tabsize=524288
    buckets=16287 div=263706
    sect=isect for buckets [0,16287) buckmax=215 arena=arenas0 at index 
[1048576,537903104)
    arena='arenas0' on arenas2.img at [802816,537673728)
    version=5 created=1327069595 modified=1327069627
    written: clumps=669 compressed clumps=600 data=4,251,763 compressed 
data=1,174,341 storage=1,216,488
    indexed: clumps=0 compressed clumps=0 data=0 compressed data=0
    storage=0

Honestly, I think you should just use venti/wrarena to write
backed up arenas to a running Venti. It's much easier.

-- 
David du Colombier

Reply via email to