On 2015å05æ18æ 21:34, Brian Foster wrote:
> On Mon, May 18, 2015 at 02:33:06PM +0800, Wang ShengHui wrote:
>> Hi guys,
>>
>>
>> In maxtrres.c/max_trans_res, it calls xfs_log_calc_minimum_size to compute
>> the
>> maximum transaction reservation
>>
>> But for xfs_log_calc_minimum_size, it's used to calculate the
>> minimum valid log size
>>
>>
>> The naming max/minimum seems confusing.
>>
>> Why are they named in such way? What's the relationship between max trans res
>> and minimun log size, (max trans res) <= (minimun log size)?
>>
>>
>> Any explanations are welcomed!
>>
>
>>From the comment in xfs_log_calc_minimum_size():
>
> /*
> * Two factors should be taken into account for calculating the
> minimum
> * log space.
> * 1) The fundamental limitation is that no single transaction can be
> * larger than half size of the log.
> *
> * From mkfs.xfs, this is considered by the XFS_MIN_LOG_FACTOR
> * define, which is set to 3. That means we can definitely fit
> * maximally sized 2 transactions in the log. We'll use this same
> * value here.
> ...
> */
>
> So the log must be at least the size of two single transactions (it
> looks like the code is conservative and uses a factor of 3). This is a
> limitation on the minimum allowable log size for the fs. Transactions
> are of variable size, so to determine what that means in terms of actual
> size we must calculate the maximum possible (i.e., worst case)
> transaction size for the particular fs geometry and then use that to
> calculate the minimum total log size.
Thanks, Brian.
Regards,
ShengHui
>
> Brian
>
>>
>> Thanks,
>> ShengHui
>>
>>
>> _______________________________________________
>> xfs mailing list
>> xfs@xxxxxxxxxxx
>> http://oss.sgi.com/mailman/listinfo/xfs
>
>
