]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
Merge pull request #25264 from tchaikov/wip-mds-mem-frag
authorKefu Chai <tchaikov@gmail.com>
Thu, 29 Nov 2018 09:10:25 +0000 (17:10 +0800)
committerGitHub <noreply@github.com>
Thu, 29 Nov 2018 09:10:25 +0000 (17:10 +0800)
denc: fix internal fragmentation when decoding ptr in bl

Reviewed-by: Casey Bodley <cbodley@redhat.com>
1  2 
src/include/buffer.h

index a012245b786296b2983bfef907d7e4a0c617a624,a984cea4946e213ec1604c59ed45a2c8789cdee9..123ff4c2a52e332c204a43f52a695efa08f398fc
@@@ -407,10 -406,16 +406,16 @@@ namespace buffer CEPH_BUFFER_API 
        typedef typename std::conditional<is_const,
                                        typename std::list<ptr>::const_iterator,
                                        typename std::list<ptr>::iterator>::type list_iter_t;
+       using iterator_category = std::forward_iterator_tag;
+       using value_type = typename std::conditional<is_const, const char, char>::type;
+       using difference_type = std::ptrdiff_t;
+       using pointer = typename std::add_pointer<value_type>::type;
+       using reference = typename std::add_lvalue_reference<value_type>::type;
        bl_t* bl;
        list_t* ls;  // meh.. just here to avoid an extra pointer dereference..
 -      unsigned off; // in bl
        list_iter_t p;
 +      unsigned off; // in bl
        unsigned p_off;   // in *p
        friend class iterator_impl<true>;