[LU-1131] refine ldiskfs credits calculation Created: 23/Feb/12  Updated: 29/May/17  Resolved: 29/May/17

Status: Resolved
Project: Lustre
Component/s: None
Affects Version/s: None
Fix Version/s: Lustre 2.4.0

Type: Improvement Priority: Minor
Reporter: Peter Jones Assignee: Zhenyu Xu
Resolution: Cannot Reproduce Votes: 0
Labels: None

Issue Links:
Related
is related to LU-1051 removing file failed due to no space ... Resolved
Rank (Obsolete): 7755

 Description   

credits calculation in ldiskfs-osd should be improved. with declare methods osd is aware of all changes by the time transaction starts (->do_trans_start()). so, osd can track all the declarations and calculate credits using collected information.

e.g. if we know specific object is to be written few times (llog object) we don't need few credits to modify object's inode,
1 is enough. or if we know we're going to write N blocks, but the filesystem has less then N groups, then it doesn't make
sense to reserve more than N credits for group modifications.

other bits can be improved as well. e.g. when object is being destroyed we're supposed to have corresponding quota blocks allocated and don't need credits to allocate them. we could have a simple bitmap of initialized quota blocks and and do reservation just in few first transactions modifying specific uid/gid/



 Comments   
Comment by Andreas Dilger [ 29/May/17 ]

Close old ticket.

Generated at Sat Feb 10 01:13:47 UTC 2024 using Jira 9.4.14#940014-sha1:734e6822bbf0d45eff9af51f82432957f73aa32c.