2008/11/13 Cyril ROUHASSIA <cyril.rouhassia at sgcib.com>:
>
> According
>
> 2008/11/12 Matthew Ahrens <Matthew.Ahrens at sun.com>:
>
>
>
> Yes, understood, the old A and the new A just have the same object
> number N: first alloc a new block,  write new A,  then modify objset's
> slot N to let it point the new A, done
>
>
> But modification of  slot N cannot be done  straighforward , it has also to
> comply  COW rules, I mean from my understanding , a new metadnode array is
> created for that objectset identical to the former one except for slot N
> (where object that had been modified lie ) . And this process goes up to the
> uberblock  , Am I right??
>

Yes,  you need to copy the block first which holds slot N,  modify it
and any necessary upper blocks in the object number index tree rooted
at blkptr of objset dnode,  then keep going up until you get the
uberblock.


-- 
args are passed by ref, but bindings are local, variables are in fact
just a symbol referencing an object

Reply via email to