Feature #9953
Updated by Sage Weil over 9 years ago
Haomai and Dong proposed a vastly improved Transaction encoding during CDS. Video is here:
https://www.youtube.com/watch?v=8uYRDYdMywA&feature=youtu.be
Highlights:
- fixed-size struct for each op
- everything else is offset into a single bufferlist where variable-length bits accumulate
- very little data copying during encode/decode.
Comments from session:
http://pad.ceph.com/p/hammer-osd_transaction_encoding
- use __le64, __le32 types
- pointers directly into the bufferlist so there is no copy needed
- need bufferlist method to ensure the next X bytes are contiguously allocated; reallocate (probably just) that section if necessary (#9954)