LU-4611 osd: improve credits calculation
- llog catalog do not declare records twice (for old and new objects)
this might be an issue on ZFS with full debug enabled..
- llog to specify append by pos=-1, so OSD can take this into account
- object create/destroy should not include OI, this is calculated yet
- EA declaration to improve few specific cases
- osd_declare_write() to recognize overwrite optimistically,
using inode size and i_blocks
- osd_declare_write() to optimize very specific cases, like legacy
blockmaps with small offsets and allocated indirects
- index delete modify just a single block
preliminary testing on a local setup with 7 OSTs:
1360 credits before and 436 credits after.
llog declarations and index inserts (part of llog object creation)
still consume about 70% (7 OSTs):
create: 7/28, destroy: 1/4
attr_set: 2/2, xattr_set: 8/21
write: 37/179, punch: 14/56, quota 2/2
insert: 8/135, delete: 2/5
ref_add: 1/1, ref_del: 3/3
Lustre-commit:
3902ff4c54925b2f1fcb732a32ed7ee5428e9f77
Lustre-change: http://review.whamcloud.com/9258
Signed-off-by: Alex Zhuravlev <alexey.zhuravlev@intel.com>
Signed-off-by: Bob Glossman <bob.glossman@intel.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-by: Niu Yawei <yawei.niu@intel.com>
Change-Id: Ia7f0f08e0a4fc19acb11f2dd030c0a9879bc75f7
Reviewed-on: http://review.whamcloud.com/10407
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>