xfsprogs/mkfs: what's the relationship between max trans res and min log size
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!
Thanks,
Sheng-Hui
_______________________________________________
xfs mailing list
[email protected]
http://oss.sgi.com/mailman/listinfo/xfs
Quoted 12 lines · Wang Sheng-Hui
Hi guys,
In maxtrres.c/max_trans_res, it calls
xfs_log_calc_minimum_sizeto compute the
maximum transaction reservationBut for
xfs_log_calc_minimum_size, it's used to calculate the
minimum valid log sizeThe naming max/minimum seems confusing.
Quoted 8 lines
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.
Brian
Quoted 9 lines
Thanks,
Sheng-Hui_______________________________________________
xfs mailing list
[email protected]
http://oss.sgi.com/mailman/listinfo/xfs
_______________________________________________
xfs mailing list
[email protected]
http://oss.sgi.com/mailman/listinfo/xfs
Quoted 35 lines · Brian Foster
Quoted 12 lines · Wang Sheng-Hui
Hi guys,
In maxtrres.c/max_trans_res, it calls
xfs_log_calc_minimum_sizeto compute the
maximum transaction reservationBut for
xfs_log_calc_minimum_size, it's used to calculate the
minimum valid log sizeThe naming max/minimum seems confusing.
Quoted 8 lines
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 theXFS_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.
...
*/
Quoted 7 lines
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,
Sheng-Hui
Quoted 14 lines
Brian
Quoted 9 lines
Thanks,
Sheng-Hui_______________________________________________
xfs mailing list
[email protected]
http://oss.sgi.com/mailman/listinfo/xfs
_______________________________________________
xfs mailing list
[email protected]
http://oss.sgi.com/mailman/listinfo/xfs