X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=libmemcached%2Fdump.cc;h=c0c4ed630c074190a9ca8c30b15893ea48b7d62b;hb=0246c3f543a3aff173a68db275ad64852410cc2d;hp=f74f3ed1f564ce22fb53bdb09478ac5bf210a168;hpb=1d0993d84fd87ef620f60380745914bac3e77d34;p=awesomized%2Flibmemcached diff --git a/libmemcached/dump.cc b/libmemcached/dump.cc index f74f3ed1..c0c4ed63 100644 --- a/libmemcached/dump.cc +++ b/libmemcached/dump.cc @@ -46,6 +46,7 @@ static memcached_return_t ascii_dump(Memcached *memc, memcached_dump_fn *callback, void *context, uint32_t number_of_callbacks) { + memcached_version(memc); /* MAX_NUMBER_OF_SLAB_CLASSES is defined to 200 in Memcached 1.4.10 */ for (uint32_t x= 0; x < 200; x++) { @@ -70,14 +71,13 @@ static memcached_return_t ascii_dump(Memcached *memc, memcached_dump_fn *callbac { memcached_instance_st* instance= memcached_instance_fetch(memc, server_key); - memcached_return_t vdo_rc; - if (memcached_success((vdo_rc= memcached_vdo(instance, vector, 3, true)))) - { - // We have sent the message to the server successfully - } - else - { - return vdo_rc; + // skip slabs >63 for server versions >= 1.4.23 + if (x < 64 || memcached_version_instance_cmp(instance, 1, 4, 23) < 0) { + memcached_return_t vdo_rc; + if (memcached_failed((vdo_rc= memcached_vdo(instance, vector, 3, true)))) + { + return vdo_rc; + } } }