#define INTERCEPT(S)
#endif
-static void alloc_aligned_buffer(bufferlist &data, unsigned len, unsigned off)
-{
- // create a buffer to read into that matches the data alignment
- unsigned alloc_len = 0;
- unsigned left = len;
- unsigned head = 0;
- if (off & ~CEPH_PAGE_MASK) {
- // head
- alloc_len += CEPH_PAGE_SIZE;
- head = std::min<uint64_t>(CEPH_PAGE_SIZE - (off & ~CEPH_PAGE_MASK), left);
- left -= head;
- }
- alloc_len += left;
- bufferptr ptr(buffer::create_small_page_aligned(alloc_len));
- if (head) ptr.set_offset(CEPH_PAGE_SIZE - head);
- data.push_back(std::move(ptr));
-}
-
ProtocolV2::ProtocolV2(AsyncConnection *connection)
: Protocol(2, connection),
temp_buffer(nullptr),