]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
compressor/snappy: compress to page-aligned memory buffer
authorSage Weil <sage@redhat.com>
Mon, 6 Jun 2016 21:13:16 +0000 (17:13 -0400)
committerSage Weil <sage@redhat.com>
Wed, 15 Jun 2016 19:25:30 +0000 (15:25 -0400)
Signed-off-by: Sage Weil <sage@redhat.com>
src/compressor/snappy/SnappyCompressor.h

index 677d7a329024a1250fee46f91c81a17c50cc0ca9..7dcb0bd09d5b1c0e6e2d8aff2a2c34bf6742947c 100644 (file)
@@ -54,7 +54,8 @@ class SnappyCompressor : public Compressor {
   SnappyCompressor() : Compressor("snappy") {}
   int compress(const bufferlist &src, bufferlist &dst) override {
     BufferlistSource source(const_cast<bufferlist&>(src).begin(), src.length());
-    bufferptr ptr(snappy::MaxCompressedLength(src.length()));
+    bufferptr ptr = buffer::create_page_aligned(
+      snappy::MaxCompressedLength(src.length()));
     snappy::UncheckedByteArraySink sink(ptr.c_str());
     snappy::Compress(&source, &sink);
     dst.append(ptr, 0, sink.CurrentDestination()-ptr.c_str());