New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
fast denc encoding #11027
fast denc encoding #11027
Commits on Oct 16, 2016
-
declare encode/decode for various types that are missing it
Signed-off-by: Sage Weil <sage@redhat.com>
-
ceph-dencoder: PGMap[::Incremental] requires features to encode
Signed-off-by: Sage Weil <sage@redhat.com>
-
ceph-dencoder: AuthMonitor::Incremental is featured
Signed-off-by: Sage Weil <sage@redhat.com>
-
ceph-dencoder: use encode/decode functions instead of class methods
Signed-off-by: Sage Weil <sage@redhat.com>
-
buffer: rename iterator copy() to copy_deep()
Current callers expect a deep copy; be explicit about it. Signed-off-by: Sage Weil <sage@redhat.com>
-
buffer: add iterator copy_shallow() to ptr
If the length resides within the bufferlist's current ptr, return a ptr to the same buffer. Signed-off-by: Sage Weil <sage@redhat.com>
-
include/small_encoding: rewrite small_{encode,decode}_signed_varint i…
…n terms of varint Signed-off-by: Sage Weil <sage@redhat.com>
-
include/small_encoding: rewrite lowz in terms of generic varint
Signed-off-by: Sage Weil <sage@redhat.com>
-
buffer: implement ptr::end_c_str()
Signed-off-by: Sage Weil <sage@redhat.com>
-
buffer: implement bufferlist::contiguous_appender
Signed-off-by: Sage Weil <sage@redhat.com>
-
buffer: implement bufferptr::iterator
Signed-off-by: Sage Weil <sage@redhat.com>
-
include/denc: new-style encoding framework
#include it from encoding.h so that we can make old STL container helpers conditional on a new-style helper not being available. Signed-off-by: Sage Weil <sage@redhat.com>
-
include/denc: _nohead variants for containers
Signed-off-by: Sage Weil <sage@redhat.com>
-
include/object: conditional denc_traits for snapid_t
Signed-off-by: Sage Weil <sage@redhat.com>
-
include/fs_types: conditional denc_traits for inodeno_t
Signed-off-by: Sage Weil <sage@redhat.com>
-
include/interval_set: define denc_traits for interval_set<T>
Signed-off-by: Sage Weil <sage@redhat.com>
-
msg/msg_types: denc_traits for entity_name_t
Signed-off-by: Sage Weil <sage@redhat.com>
-
osd: denc_traits for osd_reqid_t
Signed-off-by: Sage Weil <sage@redhat.com>
-
os/bluestore: convert internal types to denc
Signed-off-by: Sage Weil <sage@redhat.com>
-
unittest_bluefs: use append(const char*, size_t)
The bufferlist one is for internal use only. Signed-off-by: Sage Weil <sage@redhat.com>
-
buffer: add page_aligned_appender
Signed-off-by: Sage Weil <sage@redhat.com>
-
os/bluestore/BlueFS: write into page-aligned buffers from rocksdb
The BlueRocksEnv uses the append(const char *, size_t) appender. Ensure that this data is copied into a page-aligned buffer, and that we "pad" the write out with the remainder of the page. Signed-off-by: Sage Weil <sage@redhat.com>
-
buffer: contiguous_appender::get_logical_offset
Signed-off-by: Sage Weil <sage@redhat.com>
-
os/bluestore: log onode component sizes
Signed-off-by: Sage Weil <sage@redhat.com>
-
buffer: add a 'deep' append mode
Do the copy up-front. This is useful if we know our target buffer must be a contiguous buffer (e.g., because it will be passed to a kv store). Signed-off-by: Sage Weil <sage@redhat.com>
-
os/bluestore: do deep encode of onode
Avoid an inevitable rebuild() since we have to pass this to rocksdb as a single memory buffer anyway. Signed-off-by: Sage Weil <sage@redhat.com>
-
ceph-dencoder: add hexdump command
Signed-off-by: Sage Weil <sage@redhat.com>
-
ceph-dencoder: don't dump usage on every error
Signed-off-by: Sage Weil <sage@redhat.com>
-
Back in 46522cf we broke the newline placement for the * lines. Signed-off-by: Sage Weil <sage@redhat.com>
-
buffer: make iterator copy to ptr handle len==0
Signed-off-by: Sage Weil <sage@redhat.com>