On 05/20/2011 08:23 AM, Chris Mason wrote:
> Excerpts from Liu Bo's message of 2011-05-19 04:11:24 -0400:
>> Introduce a new concept "sub transaction",
>> the relation between transaction and sub transaction is
>>
>> transaction A       ---> transid = x
>>    sub trans a(1)   ---> sub_transid = x+1
>>    sub trans a(2)   ---> sub_transid = x+2
>>      ... ...
>>    sub trans a(n-1) ---> sub_transid = x+n-1
>>    sub trans a(n)   ---> sub_transid = x+n
>> transaction B       ---> transid = x+n+1
>>      ... ...
>>
>> And the most important is
>> a) a trans handler's transid now gets value from sub transid instead of 
>> transid.
>> b) when a transaction commits, transid may not added by 1, but depend on the
>>    biggest sub_transaction of the last neighbour transaction,
>>    i.e.
>>         B->transid = a(n)->transid + 1,
>>         (B->transid - A->transid) >= 1
>> c) we start a new sub transaction after a fsync.
>>
>> We also ship some 'trans->transid' to 'trans->transaction->transid' to
>> ensure btrfs works well and to get rid of WARNings.
>>
>> These are used for the new log code.
> 
> This is exactly what I had in mind.  I need to read it harder and make
> sure it interacts well with the directory logging code, but I love it.
> 
> Thanks!
> 

It's so great that you like it.  :)

But I must NOTE again:
   Due to the bug which patch 8 fixed, the previous preformance statistics I 
posted sometime ago, 
   like (*SPEED* : 4.7+ Mb/sec), are valueless and cannot be used as a basis 
any more...

Hope that more people can get the patchset tested.

thanks,
liubo

> -chris
> 

--
To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to