# This is a shell archive. Save it in a file, remove anything before # this line, and then unpack it by entering "sh file". Note, it may # create directories; files and directories will be owned by you and # have default permissions. # # This archive contains: # # ceph12 # ceph12/pkg-descr # ceph12/Makefile # ceph12/distinfo # ceph12/files # ceph12/files/ceph.in # ceph12/files/file-git_version # ceph12/files/patch-src_rgw_CMakeLists.txt # ceph12/files/patch-src_rgw_rgw_sync_module_es.cc # ceph12/files/patch-src_objectstore_store_test.cc # ceph12/files/patch-boost-1.67 # ceph12/files/patch-src_tools_ceph__kvstore__tool.cc # ceph12/pkg-plist # echo c - ceph12 mkdir -p ceph12 > /dev/null 2>&1 echo x - ceph12/pkg-descr sed 's/^X//' >ceph12/pkg-descr << 'fb7797e92cc2969e3a01caedef30e4cb' XCeph is a distributed object store and file system designed to provide Xexcellent performance, reliability and scalability. X X* Object Storage X Ceph provides seamless access to objects using native language bindings or X radosgw, a REST interface for applications written with S3 and Swift. X* Block Storage X Ceph's RADOS Block Device (RBD) provides access to block device images X that are striped and replicated across the entire storage cluster. X* File System X Ceph provides a POSIX-compliant network file system aiming for large data X storage, high performance, and maximum compatibility with legacy applications. X XThis FreeBSD build will build most of the tools in Ceph: X* Mon, OSD, rados, RadosGW, rbd X* init-ceph, and etc/rc.d/ceph on top of that X* ceph-disk {prepare, activate} XWith these tools one can build a multi server, multi osd cluster fully Xrunning on FreeBSD and do some testing... X XWWW: https://ceph.com/ fb7797e92cc2969e3a01caedef30e4cb echo x - ceph12/Makefile sed 's/^X//' >ceph12/Makefile << '14240cf0be3480e385576dc000df940d' X# Created by: Willem Jan Withagen X# $FreeBSD: head/net/ceph/Makefile 488341 2018-12-25 20:25:39Z tcberner $ X XPORTNAME= ceph XDISTVERSIONPREFIX= v XDISTVERSION= 12.2.11 XCATEGORIES= net XPKGNAMESUFFIX= 12 X XMAINTAINER= wjw@digiware.nl XCOMMENT= Ceph delivers object, block, and file storage in a unified system X XLICENSE= GPLv2 LGPL3 XLICENSE_COMB= dual X X# even though i386 will build, it is not really advised. XONLY_FOR_ARCHS= amd64 X XBUILD_DEPENDS= \ X yasm:devel/yasm \ X ${PYTHON_PKGNAMEPREFIX}sphinx>=0:textproc/py-sphinx@${PY_FLAVOR} \ X gperf:devel/gperf \ X ${LOCALBASE}/lib/libatomic_ops.a:devel/libatomic_ops XLIB_DEPENDS= \ X ${PY_BOOST} \ X libboost_thread.so:devel/boost-libs \ X libleveldb.so:databases/leveldb \ X libnss3.so:security/nss \ X libsnappy.so:archivers/snappy \ X libcurl.so:ftp/curl \ X libxml2.so:textproc/libxml2 \ X libexpat.so:textproc/expat2 \ X liblz4.so:archivers/liblz4 \ X libplds4.so:devel/nspr \ X libtcmalloc.so:devel/google-perftools XRUN_DEPENDS= \ X bash:shells/bash \ X ${LOCALBASE}/bin/getopt:misc/getopt \ X xml:textproc/xmlstarlet \ X jq:textproc/jq \ X flock:sysutils/flock \ X ${PYTHON_PKGNAMEPREFIX}virtualenv>=0:devel/py-virtualenv@${PY_FLAVOR} \ X ${PYTHON_PKGNAMEPREFIX}prettytable>=0:devel/py-prettytable@${PY_FLAVOR} X XCONFLICTS_INSTALL= ceph-devel XPORTSCOUT= limit:^v12\. X XUSES= cmake:noninja fuse gettext-runtime gmake \ X pkgconfig python:2.7 shebangfix ssl XUSE_PYTHON= cython XUSE_OPENLDAP= yes XUSE_GITHUB= yes XGH_ACCOUNT= ceph:DEFAULT X XGH_TUPLE+= ceph:ceph-erasure-code-corpus:2d7d78b:ceph_erasure_code_corpus/ceph-erasure-code-corpus XGH_TUPLE+= ceph:ceph-object-corpus:e32bf8c:ceph_object_corpus/ceph-object-corpus XGH_TUPLE+= ceph:civetweb:de23828:civetweb/src/civetweb XGH_TUPLE+= 01org:isa-l_crypto:603529a:isa_l_crypto/src/crypto/isa-l/isa-l_crypto XGH_TUPLE+= ceph:gf-complete:7e61b44:gf_complete/src/erasure-code/jerasure/gf-complete XGH_TUPLE+= ceph:jerasure:96c76b8:jerasure/src/erasure-code/jerasure/jerasure XGH_TUPLE+= ceph:googletest:fdb8504:googletest/src/googletest XGH_TUPLE+= ceph:isa-l:7e1a337:isa_l/src/isa-l XGH_TUPLE+= ceph:lua:1fce39c:lua/src/lua XGH_TUPLE+= ceph:rapidjson:f54b0e4:rapidjson/src/rapidjson XGH_TUPLE+= ceph:rocksdb:e15382c:rocksdb/src/rocksdb XGH_TUPLE+= ceph:xxHash:1f40c65:xxHash/src/xxHash XGH_TUPLE+= facebook:zstd:f4340f4:zstd/src/zstd X XCMAKE_ARGS= \ X -D WITH_SYSTEM_BOOST:BOOL=ON \ X -D CEPH_MAN_DIR:STRING=man \ X -D WITH_LTTNG:BOOL=OFF \ X -D WITH_BABELTRACE:BOOL=OFF \ X -D WITH_KRBD:BOOL=OFF \ X -D WITH_XFS:BOOL=OFF \ X -D WITH_KVS:BOOL=OFF \ X -D WITH_BLKID:BOOL=OFF \ X -D WITH_SPDK:BOOL=OFF \ X -D WITH_RDMA=OFF \ X -D WITH_BLUESTORE:BOOL=OFF \ X -D WITH_LIBCEPHFS:BOOL=OFF \ X -D WITH_CEPHFS:BOOL=OFF \ X -D WITH_EMBEDDED:BOOL=OFF \ X -D WITH_SYSTEM_BOOST:BOOL=ON \ X -D WITH_BOOST_CONTEXT:BOOL=OFF \ X -D WITH_FUSE:BOOL=ON \ X -D WITH_MANPAGE:BOOL=ON \ X -D WITH_RADOSGW_BEAST_FRONTEND:BOOL=OFF \ X -D WITH_MGR_DASHBOARD_FRONTEND:BOOL=OFF X XSHEBANG_FILES=src/rbdmap src/ceph-post-file.in src/rbd-replay-many \ X src/brag/client/ceph-brag src/ceph-rest-api \ X src/tools/ceph-monstore-update-crush.sh src/mount.fuse.ceph \ X src/ceph-create-keys X XUSE_RC_SUBR= ceph XUSE_LDCONFIG= yes X XUSERS= ceph XGROUPS= ceph X Xpost-patch: X ${REINPLACE_CMD} 's|sphinx-build|sphinx-build-${PYTHON_VER}|g' ${WRKSRC}/CMakeLists.txt X Xpre-configure: X ${LN} -s ${CONFIGURE_WRKSRC} ${WRKSRC}/build X ${CP} files/file-git_version ${WRKSRC}/src/.git_version X Xpost-install: X ${MKDIR} ${STAGEDIR}${PREFIX}/etc/ceph X ${MKDIR} ${STAGEDIR}/var/lib/ceph/bootstrap-mds X ${MKDIR} ${STAGEDIR}/var/lib/ceph/bootstrap-osd X ${MKDIR} ${STAGEDIR}/var/lib/ceph/bootstrap-rgw X ${MKDIR} ${STAGEDIR}/var/lib/ceph/bootstrap-mgr X ${MKDIR} ${STAGEDIR}/var/lib/ceph/mds X ${MKDIR} ${STAGEDIR}/var/lib/ceph/mon X ${MKDIR} ${STAGEDIR}/var/lib/ceph/osd X ${MKDIR} ${STAGEDIR}/var/lib/ceph/mgr X ${MKDIR} ${STAGEDIR}/var/lib/ceph/tmp X ${MKDIR} ${STAGEDIR}/var/lib/ceph/radosgw X ${MKDIR} ${STAGEDIR}/var/log/ceph X ${MKDIR} ${STAGEDIR}/var/run/ceph X # Use the Ceph init.d script as the interface to regular X # starting and stopping deamons. rc.d work is done thru X # a separate rc.d/ceph script calling init-ceph again. X ${MV} ${STAGEDIR}${PREFIX}/etc/init.d/ceph ${STAGEDIR}${PREFIX}/bin/init-ceph X # remove files not packaged X ${RM} ${STAGEDIR}${DOCSDIR}/sample.fetch_config X ${RM} ${STAGEDIR}${DOCSDIR}/sample.ceph.conf X ${RMDIR} ${STAGEDIR}${DOCSDIR} X ${RM} ${STAGEDIR}${PREFIX}/bin/ceph_bench_log X ${RM} ${STAGEDIR}${PREFIX}/bin/ceph_multi_stress_watch X ${RM} ${STAGEDIR}${PREFIX}/bin/ceph_perf* X ${RM} ${STAGEDIR}${PREFIX}/bin/ceph_psim X ${RM} ${STAGEDIR}${PREFIX}/bin/ceph_scratchtoolpp X ${RM} ${STAGEDIR}${PREFIX}/bin/ceph_smalliobench* X ${RM} ${STAGEDIR}${PREFIX}/bin/ceph_test* X ${RM} ${STAGEDIR}${PREFIX}/bin/ceph_tpbench X ${RM} ${STAGEDIR}${PREFIX}/bin/ceph_xattr_bench X ${RM} ${STAGEDIR}${PREFIX}/sbin/ceph-disk-udev X # ceph-volume does not support ZFS X ${RM} -rf ${STAGEDIR}${PYTHON_SITELIBDIR}/ceph_volume-* X ${RM} -rf ${STAGEDIR}${PYTHON_SITELIBDIR}/ceph_volume/ X ${RM} ${STAGEDIR}${PREFIX}/sbin/ceph-volume X ${RM} ${STAGEDIR}${PREFIX}/sbin/ceph-volume-systemd X ${RM} ${STAGEDIR}${PREFIX}/man/man8/ceph-volume* X X ${RMDIR} ${STAGEDIR}${PREFIX}/etc/init.d X ${INSTALL_DATA} ${WRKSRC}/src/sample.ceph.conf ${STAGEDIR}${PREFIX}/etc/ceph/ceph.conf.sample X X.include 14240cf0be3480e385576dc000df940d echo x - ceph12/distinfo sed 's/^X//' >ceph12/distinfo << 'b10d3484722b06108be0c95904f11998' XTIMESTAMP = 1550935963 XSHA256 (ceph-ceph-v12.2.11_GH0.tar.gz) = 67a2afe2de2087279e5a6bfab9c2b2a391093fb73723b629aaaeb204044be499 XSIZE (ceph-ceph-v12.2.11_GH0.tar.gz) = 12451786 XSHA256 (ceph-ceph-erasure-code-corpus-2d7d78b_GH0.tar.gz) = 8ab8f36f3e0a720c882b8bb4abb3f2e26bd6b025cc263119207f7d2eb3b1e490 XSIZE (ceph-ceph-erasure-code-corpus-2d7d78b_GH0.tar.gz) = 3685656 XSHA256 (ceph-ceph-object-corpus-e32bf8c_GH0.tar.gz) = 79ff0d1b9f959c9f5264a0dff193105d71885615deaa9c8469902400fd82d214 XSIZE (ceph-ceph-object-corpus-e32bf8c_GH0.tar.gz) = 1838192 XSHA256 (ceph-civetweb-de23828_GH0.tar.gz) = a9a95dd58e9b4a696fa0c822c1401856c55ef9b67fb28cf15d97f19f1af2ecbd XSIZE (ceph-civetweb-de23828_GH0.tar.gz) = 6850197 XSHA256 (01org-isa-l_crypto-603529a_GH0.tar.gz) = 52708b98c832bb7e6db60c949ece261d9609c822ae55239b0f2133cec2b3d155 XSIZE (01org-isa-l_crypto-603529a_GH0.tar.gz) = 439149 XSHA256 (ceph-gf-complete-7e61b44_GH0.tar.gz) = 7b0e5c1b41399d2c7d97ed7a7547ebf40023bcd104ed9a8b2b75bdee440c1a4d XSIZE (ceph-gf-complete-7e61b44_GH0.tar.gz) = 342303 XSHA256 (ceph-jerasure-96c76b8_GH0.tar.gz) = 06edaeb8cb5c3076e34cb53dd91c91d54d46fb8c3b837c6280ea2ed076556beb XSIZE (ceph-jerasure-96c76b8_GH0.tar.gz) = 806334 XSHA256 (ceph-googletest-fdb8504_GH0.tar.gz) = ece3265dae4d0fe5a52e7164432bb416de8bdb45e1c8cf8f361bbe893db30bb8 XSIZE (ceph-googletest-fdb8504_GH0.tar.gz) = 1281068 XSHA256 (ceph-isa-l-7e1a337_GH0.tar.gz) = 8099bc6ca3ca6ed9376f6cc5072a84d7a1863e2d7f2344bf08682d4efb7ae788 XSIZE (ceph-isa-l-7e1a337_GH0.tar.gz) = 458398 XSHA256 (ceph-lua-1fce39c_GH0.tar.gz) = fb5f778ce4da349ca903512a2fdb3987b12e3f0a52ab088fb011a8e4dd55848c XSIZE (ceph-lua-1fce39c_GH0.tar.gz) = 366778 XSHA256 (ceph-rapidjson-f54b0e4_GH0.tar.gz) = 35c330d40ed9def99e8dea8f3b0e4fda7610b813b6f4aac9a70ffefcb9ab1f1e XSIZE (ceph-rapidjson-f54b0e4_GH0.tar.gz) = 1019457 XSHA256 (ceph-rocksdb-e15382c_GH0.tar.gz) = e23177dd893b81b4d3d959464ee8e5c4fe64a408841c2584b29540c60ac5cf47 XSIZE (ceph-rocksdb-e15382c_GH0.tar.gz) = 3278113 XSHA256 (ceph-xxHash-1f40c65_GH0.tar.gz) = 809e06b7493ed01f13c7ba972393a5a6d23dd92fd6b884381aa907005e569372 XSIZE (ceph-xxHash-1f40c65_GH0.tar.gz) = 25484 XSHA256 (facebook-zstd-f4340f4_GH0.tar.gz) = 0db909a46914eb7800bce044b86fcf595451713e56a2b131ace6f70ff25c1c4d XSIZE (facebook-zstd-f4340f4_GH0.tar.gz) = 1619022 b10d3484722b06108be0c95904f11998 echo c - ceph12/files mkdir -p ceph12/files > /dev/null 2>&1 echo x - ceph12/files/ceph.in sed 's/^X//' >ceph12/files/ceph.in << '7b616c09df8ec9476772f19ba729f03f' X#!/bin/sh X# X# $FreeBSD: head/net/ceph/files/ceph.in 477944 2018-08-24 07:45:53Z jhale $ X# X X# PROVIDE: ceph X# REQUIRE: LOGIN X# BEFORE: securelevel X# KEYWORD: shutdown X X# Add the following lines to /etc/rc.conf to enable `ceph': X# X# ceph_enable="YES" X# X X. /etc/rc.subr X XPATH=$PATH:%%PREFIX%%/bin:%%PREFIX%%/sbin X Xname="ceph" Xrcvar=${name}_enable Xextra_commands="condrestart" X Xload_rc_config ${name} X X# read configuration and set defaults X: ${ceph_enable="NO"} X: ${ceph_configfile:=%%PREFIX%%/etc/ceph/ceph.conf} X Xstart_cmd="%%PREFIX%%/bin/init-ceph $*" Xstop_cmd="%%PREFIX%%/bin/init-ceph $*" Xrestart_cmd="%%PREFIX%%/bin/init-ceph $*" Xcondrestart_cmd="%%PREFIX%%/bin/init-ceph $*" X Xrun_rc_command "$1" X 7b616c09df8ec9476772f19ba729f03f echo x - ceph12/files/file-git_version sed 's/^X//' >ceph12/files/file-git_version << '07f98a4461721a3ec326d0a5d749246d' X26dc3775efc7bb286a1d6d66faee0ba30ea23eee Xv12.2.11 07f98a4461721a3ec326d0a5d749246d echo x - ceph12/files/patch-src_rgw_CMakeLists.txt sed 's/^X//' >ceph12/files/patch-src_rgw_CMakeLists.txt << 'b8b972f15d7e8a2c6d92c5880fbb3b7f' Xdiff --git a/src/rgw/CMakeLists.txt b/src/rgw/CMakeLists.txt Xindex 57cb2a5b94..57a9ceb78b 100644 X--- src/rgw/CMakeLists.txt X+++ src/rgw/CMakeLists.txt X@@ -182,7 +182,7 @@ if (WITH_RADOSGW_BEAST_FRONTEND AND WITH_RADOSGW_BEAST_OPENSSL) X endif() X X add_executable(radosgw rgw_main.cc) X-target_link_libraries(radosgw radosgw_a librados X+target_link_libraries(radosgw radosgw_a rgw_a librados X cls_rgw_client cls_lock_client cls_refcount_client X cls_log_client cls_statelog_client cls_timeindex_client X cls_version_client cls_replica_log_client cls_user_client b8b972f15d7e8a2c6d92c5880fbb3b7f echo x - ceph12/files/patch-src_rgw_rgw_sync_module_es.cc sed 's/^X//' >ceph12/files/patch-src_rgw_rgw_sync_module_es.cc << '3e9f23f212288b8290fa1ac2939541d7' Xdiff --git a/src/rgw/rgw_sync_module_es.cc b/src/rgw/rgw_sync_module_es.cc Xindex aa58219b5a..de4200d75e 100644 X--- src/rgw/rgw_sync_module_es.cc X+++ src/rgw/rgw_sync_module_es.cc X@@ -244,7 +244,7 @@ struct es_index_config { X }; X X static bool is_sys_attr(const std::string& attr_name){ X- static constexpr std::initializer_list rgw_sys_attrs = {RGW_ATTR_PG_VER, X+ static const std::initializer_list rgw_sys_attrs = {RGW_ATTR_PG_VER, X RGW_ATTR_SOURCE_ZONE, X RGW_ATTR_ID_TAG, X RGW_ATTR_TEMPURL_KEY1, 3e9f23f212288b8290fa1ac2939541d7 echo x - ceph12/files/patch-src_objectstore_store_test.cc sed 's/^X//' >ceph12/files/patch-src_objectstore_store_test.cc << '0c12bf985cdcf314057a29c96ac676cd' Xdiff --git a/src/test/objectstore/store_test.cc b/src/test/objectstore/store_test.cc Xold mode 100644 Xnew mode 100755 Xindex 326c9785d0..8d39249360 X--- src/test/objectstore/store_test.cc X+++ src/test/objectstore/store_test.cc X@@ -4313,7 +4313,7 @@ TEST_P(StoreTest, Synthetic) { X doSyntheticTest(store, 10000, 400*1024, 40*1024, 0); X } X X- X+#if defined(WITH_BLUESTORE) X TEST_P(StoreTestSpecificAUSize, SyntheticMatrixSharding) { X if (string(GetParam()) != "bluestore") X return; X@@ -4485,6 +4485,7 @@ TEST_P(StoreTestSpecificAUSize, SyntheticMatrixPreferDeferred) { X }; X do_matrix(m, store, doSyntheticTest); X } X+#endif // #if defined(WITH_BLUESTORE) X X TEST_P(StoreTest, AttrSynthetic) { X ObjectStore::Sequencer osr("test"); X@@ -6855,6 +6856,7 @@ TEST_P(StoreTestSpecificAUSize, fsckOnUnalignedDevice2) { X g_conf->apply_changes(NULL); X } X X+#if defined(WITH_BLUESTORE) X TEST_P(StoreTest, SpuriousReadErrorTest) { X if (string(GetParam()) != "bluestore") X return; X@@ -6921,6 +6923,7 @@ TEST_P(StoreTest, SpuriousReadErrorTest) { X g_conf->set_val("bluestore_debug_inject_csum_err_probability", "0"); X g_ceph_context->_conf->apply_changes(nullptr); X } X+#endif // #if defined(WITH_BLUESTORE) X X int main(int argc, char **argv) { X vector args; 0c12bf985cdcf314057a29c96ac676cd echo x - ceph12/files/patch-boost-1.67 sed 's/^X//' >ceph12/files/patch-boost-1.67 << '58b280a7a8bd9d174e25df5e0101e346' XRegressed by https://github.com/boostorg/date_time/commit/f9f2aaf5216c X Xsrc/rbd_replay/Replayer.cc:353:65: error: no matching conversion for functional-style cast from 'float' to 'boost::posix_time::microseconds' (aka 'subsecond_duration') X boost::system_time sub_release_time(action_completed_time + boost::posix_time::microseconds(dep.time_delta * m_latency_multiplier / 1000)); X ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ X/usr/local/include/boost/date_time/time_duration.hpp:270:30: note: candidate constructor (the implicit copy constructor) not viable: no known conversion from 'float' to 'const boost::date_time::subsecond_duration' for 1st argument X class BOOST_SYMBOL_VISIBLE subsecond_duration : public base_duration X ^ X/usr/local/include/boost/date_time/time_duration.hpp:270:30: note: candidate constructor (the implicit move constructor) not viable: no known conversion from 'float' to 'boost::date_time::subsecond_duration' for 1st argument X/usr/local/include/boost/date_time/time_duration.hpp:286:59: note: candidate template ignored: disabled by 'enable_if' [with T = float] X typename boost::enable_if, void>::type* = 0) : X ^ X Xsrc/test/librbd/test_mock_Journal.cc:485:42: error: reference to '_1' is ambiguous X std::bind(&invoke_replay_complete, _1, 0)); X ^ X/usr/local/include/boost/bind/placeholders.hpp:46:38: note: candidate found by name lookup is 'boost::placeholders::_1' XBOOST_STATIC_CONSTEXPR boost::arg<1> _1; X ^ X/usr/include/c++/v1/functional:2021:21: note: candidate found by name lookup is 'std::__1::placeholders::_1' Xconstexpr __ph<1> _1{}; X ^ X X--- src/rbd_replay/Replayer.cc.orig 2018-02-26 21:47:18 UTC X+++ src/rbd_replay/Replayer.cc X@@ -350,7 +350,7 @@ void Replayer::wait_for_actions(const action::Dependen X dout(DEPGRAPH_LEVEL) << "Finished waiting for " << dep.id << " after " << micros << " microseconds" << dendl; X // Apparently the nanoseconds constructor is optional: X // http://www.boost.org/doc/libs/1_46_0/doc/html/date_time/details.html#compile_options X- boost::system_time sub_release_time(action_completed_time + boost::posix_time::microseconds(dep.time_delta * m_latency_multiplier / 1000)); X+ boost::system_time sub_release_time(action_completed_time + boost::posix_time::microseconds(long(dep.time_delta * m_latency_multiplier / 1000))); X if (sub_release_time > release_time) { X release_time = sub_release_time; X } X--- src/test/librbd/test_mock_Journal.cc.orig 2018-02-26 21:47:18 UTC X+++ src/test/librbd/test_mock_Journal.cc X@@ -214,7 +214,6 @@ using ::testing::Return; X using ::testing::SaveArg; X using ::testing::SetArgPointee; X using ::testing::WithArg; X-using namespace std::placeholders; X X ACTION_P2(StartReplay, wq, ctx) { X wq->queue(ctx, 0); X@@ -482,7 +481,7 @@ class TestMockJournal : public TestMockFixture { (publ X expect_get_max_append_size(mock_journaler, 1 << 16); X expect_start_replay( X mock_image_ctx, mock_journaler, X- std::bind(&invoke_replay_complete, _1, 0)); X+ std::bind(&invoke_replay_complete, std::placeholders::_1, 0)); X X MockJournalReplay mock_journal_replay; X expect_stop_replay(mock_journaler); X@@ -530,7 +529,7 @@ TEST_F(TestMockJournal, StateTransitions) { X expect_get_max_append_size(mock_journaler, 1 << 16); X expect_start_replay( X mock_image_ctx, mock_journaler, X- std::bind(&invoke_replay_ready, _1)); X+ std::bind(&invoke_replay_ready, std::placeholders::_1)); X X ::journal::MockReplayEntry mock_replay_entry; X MockJournalReplay mock_journal_replay; X@@ -539,11 +538,11 @@ TEST_F(TestMockJournal, StateTransitions) { X expect_try_pop_front(mock_image_ctx, mock_journaler, true, mock_replay_entry); X expect_replay_process(mock_journal_replay); X expect_try_pop_front(mock_image_ctx, mock_journaler, false, mock_replay_entry, X- std::bind(&invoke_replay_ready, _1)); X+ std::bind(&invoke_replay_ready, std::placeholders::_1)); X expect_try_pop_front(mock_image_ctx, mock_journaler, true, mock_replay_entry); X expect_replay_process(mock_journal_replay); X expect_try_pop_front(mock_image_ctx, mock_journaler, false, mock_replay_entry, X- std::bind(&invoke_replay_complete, _1, 0)); X+ std::bind(&invoke_replay_complete, std::placeholders::_1, 0)); X X expect_stop_replay(mock_journaler); X expect_shut_down_replay(mock_image_ctx, mock_journal_replay, 0); X@@ -599,7 +598,7 @@ TEST_F(TestMockJournal, ReplayCompleteError) { X expect_get_max_append_size(mock_journaler, 1 << 16); X expect_start_replay( X mock_image_ctx, mock_journaler, X- std::bind(&invoke_replay_complete, _1, -EINVAL)); X+ std::bind(&invoke_replay_complete, std::placeholders::_1, -EINVAL)); X X MockJournalReplay mock_journal_replay; X expect_stop_replay(mock_journaler); X@@ -613,7 +612,7 @@ TEST_F(TestMockJournal, ReplayCompleteError) { X expect_get_max_append_size(mock_journaler, 1 << 16); X expect_start_replay( X mock_image_ctx, mock_journaler, X- std::bind(&invoke_replay_complete, _1, 0)); X+ std::bind(&invoke_replay_complete, std::placeholders::_1, 0)); X X expect_stop_replay(mock_journaler); X expect_shut_down_replay(mock_image_ctx, mock_journal_replay, 0); X@@ -645,14 +644,14 @@ TEST_F(TestMockJournal, FlushReplayError) { X expect_get_max_append_size(mock_journaler, 1 << 16); X expect_start_replay( X mock_image_ctx, mock_journaler, X- std::bind(&invoke_replay_ready, _1)); X+ std::bind(&invoke_replay_ready, std::placeholders::_1)); X X ::journal::MockReplayEntry mock_replay_entry; X MockJournalReplay mock_journal_replay; X expect_try_pop_front(mock_image_ctx, mock_journaler, true, mock_replay_entry); X expect_replay_process(mock_journal_replay); X expect_try_pop_front(mock_image_ctx, mock_journaler, false, mock_replay_entry, X- std::bind(&invoke_replay_complete, _1, 0)); X+ std::bind(&invoke_replay_complete, std::placeholders::_1, 0)); X expect_stop_replay(mock_journaler); X expect_shut_down_replay(mock_image_ctx, mock_journal_replay, -EINVAL); X expect_shut_down_journaler(mock_journaler); X@@ -664,7 +663,7 @@ TEST_F(TestMockJournal, FlushReplayError) { X expect_get_max_append_size(mock_journaler, 1 << 16); X expect_start_replay( X mock_image_ctx, mock_journaler, X- std::bind(&invoke_replay_complete, _1, 0)); X+ std::bind(&invoke_replay_complete, std::placeholders::_1, 0)); X X expect_stop_replay(mock_journaler); X expect_shut_down_replay(mock_image_ctx, mock_journal_replay, 0); X@@ -696,7 +695,7 @@ TEST_F(TestMockJournal, CorruptEntry) { X expect_get_max_append_size(mock_journaler, 1 << 16); X expect_start_replay( X mock_image_ctx, mock_journaler, X- std::bind(&invoke_replay_ready, _1)); X+ std::bind(&invoke_replay_ready, std::placeholders::_1)); X X ::journal::MockReplayEntry mock_replay_entry; X MockJournalReplay mock_journal_replay; X@@ -713,7 +712,7 @@ TEST_F(TestMockJournal, CorruptEntry) { X expect_get_max_append_size(mock_journaler, 1 << 16); X expect_start_replay( X mock_image_ctx, mock_journaler, X- std::bind(&invoke_replay_complete, _1, 0)); X+ std::bind(&invoke_replay_complete, std::placeholders::_1, 0)); X expect_stop_replay(mock_journaler); X expect_shut_down_replay(mock_image_ctx, mock_journal_replay, 0); X expect_start_append(mock_journaler); X@@ -744,7 +743,7 @@ TEST_F(TestMockJournal, StopError) { X expect_get_max_append_size(mock_journaler, 1 << 16); X expect_start_replay( X mock_image_ctx, mock_journaler, X- std::bind(&invoke_replay_complete, _1, 0)); X+ std::bind(&invoke_replay_complete, std::placeholders::_1, 0)); X X MockJournalReplay mock_journal_replay; X expect_stop_replay(mock_journaler); X@@ -777,7 +776,7 @@ TEST_F(TestMockJournal, ReplayOnDiskPreFlushError) { X X expect_start_replay( X mock_image_ctx, mock_journaler, X- std::bind(&invoke_replay_ready, _1)); X+ std::bind(&invoke_replay_ready, std::placeholders::_1)); X X ::journal::MockReplayEntry mock_replay_entry; X MockJournalReplay mock_journal_replay; X@@ -803,7 +802,7 @@ TEST_F(TestMockJournal, ReplayOnDiskPreFlushError) { X expect_get_max_append_size(mock_journaler, 1 << 16); X expect_start_replay( X mock_image_ctx, mock_journaler, { X- std::bind(&invoke_replay_complete, _1, 0) X+ std::bind(&invoke_replay_complete, std::placeholders::_1, 0) X }); X X expect_stop_replay(mock_journaler); X@@ -857,14 +856,14 @@ TEST_F(TestMockJournal, ReplayOnDiskPostFlushError) { X expect_get_max_append_size(mock_journaler, 1 << 16); X expect_start_replay( X mock_image_ctx, mock_journaler, X- std::bind(&invoke_replay_ready, _1)); X+ std::bind(&invoke_replay_ready, std::placeholders::_1)); X X ::journal::MockReplayEntry mock_replay_entry; X MockJournalReplay mock_journal_replay; X expect_try_pop_front(mock_image_ctx, mock_journaler, true, mock_replay_entry); X expect_replay_process(mock_journal_replay); X expect_try_pop_front(mock_image_ctx, mock_journaler, false, mock_replay_entry, X- std::bind(&invoke_replay_complete, _1, 0)); X+ std::bind(&invoke_replay_complete, std::placeholders::_1, 0)); X expect_stop_replay(mock_journaler); X X Context *on_flush = nullptr; X@@ -880,7 +879,7 @@ TEST_F(TestMockJournal, ReplayOnDiskPostFlushError) { X expect_get_max_append_size(mock_journaler, 1 << 16); X expect_start_replay( X mock_image_ctx, mock_journaler, X- std::bind(&invoke_replay_complete, _1, 0)); X+ std::bind(&invoke_replay_complete, std::placeholders::_1, 0)); X X expect_stop_replay(mock_journaler); X expect_shut_down_replay(mock_image_ctx, mock_journal_replay, 0); 58b280a7a8bd9d174e25df5e0101e346 echo x - ceph12/files/patch-src_tools_ceph__kvstore__tool.cc sed 's/^X//' >ceph12/files/patch-src_tools_ceph__kvstore__tool.cc << 'b66de567af376b3b299afbe059d2b23d' X--- src/tools/ceph_kvstore_tool.cc.orig 2018-02-26 21:47:18 UTC X+++ src/tools/ceph_kvstore_tool.cc X@@ -36,7 +36,9 @@ using namespace std; X X class StoreTool X { X+#ifdef HAVE_LIBAIO X boost::scoped_ptr bluestore; X+#endif X X // TODO: make KeyValueDB enable_shared_from_this X // bluestore will hold *db* also, use unique_ptr/shared_ptr will X@@ -74,10 +76,13 @@ class StoreTool X } X X ~StoreTool() { X+#ifdef HAVE_LIBAIO X if (bluestore) { X bluestore->umount(); X } X- else { X+ else X+#endif X+ { X if (db) { X delete db; X } b66de567af376b3b299afbe059d2b23d echo x - ceph12/pkg-plist sed 's/^X//' >ceph12/pkg-plist << '6a5f36a46b40540f1f3efd85507f5148' Xbin/ceph Xbin/ceph-authtool Xbin/ceph-brag Xbin/ceph-clsinfo Xbin/ceph-conf Xbin/ceph-coverage Xbin/ceph-crush-location Xbin/ceph-debugpack Xbin/ceph-dencoder Xbin/ceph-detect-init Xbin/ceph-fuse Xbin/ceph-kvstore-tool Xbin/ceph-mds Xbin/ceph-mgr Xbin/ceph-mon Xbin/ceph-monstore-tool Xbin/ceph-objectstore-tool Xbin/ceph-osd Xbin/ceph-osdomap-tool Xbin/ceph-post-file Xbin/ceph-rbdnamer Xbin/ceph-rest-api Xbin/ceph-run Xbin/ceph_erasure_code Xbin/ceph_erasure_code_benchmark Xbin/ceph_objectstore_bench Xbin/ceph_omapbench Xbin/ceph_radosacl Xbin/ceph_rgw_jsonparser Xbin/ceph_rgw_multiparser Xbin/ceph_scratchtool Xbin/crushtool Xbin/init-ceph Xbin/librados-config Xbin/monmaptool Xbin/osdmaptool Xbin/rados Xbin/radosgw Xbin/radosgw-admin Xbin/radosgw-es Xbin/radosgw-object-expirer Xbin/radosgw-token Xbin/rbd Xbin/rbd-fuse Xbin/rbd-ggate Xbin/rbd-mirror Xbin/rbd-replay Xbin/rbd-replay-many Xbin/rbdmap Xetc/bash_completion.d/ceph Xetc/bash_completion.d/rados Xetc/bash_completion.d/radosgw-admin Xetc/bash_completion.d/rbd X%%ETCDIR%%/ceph.conf.sample Xinclude/rados/buffer.h Xinclude/rados/buffer_fwd.h Xinclude/rados/crc32c.h Xinclude/rados/inline_memory.h Xinclude/rados/librados.h Xinclude/rados/librados.hpp Xinclude/rados/librgw.h Xinclude/rados/memory.h Xinclude/rados/objclass.h Xinclude/rados/page.h Xinclude/rados/rados_types.h Xinclude/rados/rados_types.hpp Xinclude/rados/rgw_file.h Xinclude/radosstriper/libradosstriper.h Xinclude/radosstriper/libradosstriper.hpp Xinclude/rbd/features.h Xinclude/rbd/librbd.h Xinclude/rbd/librbd.hpp Xlib/ceph/ceph-monstore-update-crush.sh Xlib/ceph/compressor/libceph_snappy.so Xlib/ceph/compressor/libceph_snappy.so.2 Xlib/ceph/compressor/libceph_snappy.so.2.0.0 Xlib/ceph/compressor/libceph_zlib.so Xlib/ceph/compressor/libceph_zlib.so.2 Xlib/ceph/compressor/libceph_zlib.so.2.0.0 Xlib/ceph/compressor/libceph_zstd.so Xlib/ceph/compressor/libceph_zstd.so.2 Xlib/ceph/compressor/libceph_zstd.so.2.0.0 Xlib/ceph/crypto/libceph_crypto_isal.so Xlib/ceph/crypto/libceph_crypto_isal.so.1 Xlib/ceph/crypto/libceph_crypto_isal.so.1.0.0 Xlib/ceph/erasure-code/libec_isa.so Xlib/ceph/erasure-code/libec_jerasure.so Xlib/ceph/erasure-code/libec_jerasure_generic.so Xlib/ceph/erasure-code/libec_jerasure_sse3.so Xlib/ceph/erasure-code/libec_jerasure_sse4.so Xlib/ceph/erasure-code/libec_lrc.so Xlib/ceph/erasure-code/libec_shec.so Xlib/ceph/erasure-code/libec_shec_generic.so Xlib/ceph/erasure-code/libec_shec_sse3.so Xlib/ceph/erasure-code/libec_shec_sse4.so Xlib/ceph/libceph-common.so Xlib/ceph/libceph-common.so.0 Xlib/ceph/mgr/.gitignore Xlib/ceph/mgr/balancer/__init__.py Xlib/ceph/mgr/balancer/module.py Xlib/ceph/mgr/dashboard/HACKING.rst Xlib/ceph/mgr/dashboard/README.rst Xlib/ceph/mgr/dashboard/__init__.py Xlib/ceph/mgr/dashboard/base.html Xlib/ceph/mgr/dashboard/cephfs_clients.py Xlib/ceph/mgr/dashboard/clients.html Xlib/ceph/mgr/dashboard/config_options.html Xlib/ceph/mgr/dashboard/filesystem.html Xlib/ceph/mgr/dashboard/health.html Xlib/ceph/mgr/dashboard/module.py Xlib/ceph/mgr/dashboard/osd_perf.html Xlib/ceph/mgr/dashboard/osds.html Xlib/ceph/mgr/dashboard/rbd_iscsi.html Xlib/ceph/mgr/dashboard/rbd_iscsi.py Xlib/ceph/mgr/dashboard/rbd_ls.py Xlib/ceph/mgr/dashboard/rbd_mirroring.html Xlib/ceph/mgr/dashboard/rbd_mirroring.py Xlib/ceph/mgr/dashboard/rbd_pool.html Xlib/ceph/mgr/dashboard/remote_view_cache.py Xlib/ceph/mgr/dashboard/servers.html Xlib/ceph/mgr/dashboard/standby.html Xlib/ceph/mgr/dashboard/static/AdminLTE-2.3.7/.gitignore Xlib/ceph/mgr/dashboard/static/AdminLTE-2.3.7/.jshintrc Xlib/ceph/mgr/dashboard/static/AdminLTE-2.3.7/LICENSE Xlib/ceph/mgr/dashboard/static/AdminLTE-2.3.7/README.md Xlib/ceph/mgr/dashboard/static/AdminLTE-2.3.7/bootstrap/css/bootstrap.min.css Xlib/ceph/mgr/dashboard/static/AdminLTE-2.3.7/bootstrap/css/bootstrap.min.css.map Xlib/ceph/mgr/dashboard/static/AdminLTE-2.3.7/bootstrap/fonts/glyphicons-halflings-regular.woff Xlib/ceph/mgr/dashboard/static/AdminLTE-2.3.7/bootstrap/fonts/glyphicons-halflings-regular.woff2 Xlib/ceph/mgr/dashboard/static/AdminLTE-2.3.7/bootstrap/js/bootstrap.min.js Xlib/ceph/mgr/dashboard/static/AdminLTE-2.3.7/dist/css/AdminLTE.min.css Xlib/ceph/mgr/dashboard/static/AdminLTE-2.3.7/dist/css/skins/_all-skins.min.css Xlib/ceph/mgr/dashboard/static/AdminLTE-2.3.7/dist/css/skins/skin-black-light.min.css Xlib/ceph/mgr/dashboard/static/AdminLTE-2.3.7/dist/css/skins/skin-black.min.css Xlib/ceph/mgr/dashboard/static/AdminLTE-2.3.7/dist/css/skins/skin-blue-light.min.css Xlib/ceph/mgr/dashboard/static/AdminLTE-2.3.7/dist/css/skins/skin-blue.min.css Xlib/ceph/mgr/dashboard/static/AdminLTE-2.3.7/dist/css/skins/skin-green-light.min.css Xlib/ceph/mgr/dashboard/static/AdminLTE-2.3.7/dist/css/skins/skin-green.min.css Xlib/ceph/mgr/dashboard/static/AdminLTE-2.3.7/dist/css/skins/skin-purple-light.min.css Xlib/ceph/mgr/dashboard/static/AdminLTE-2.3.7/dist/css/skins/skin-purple.min.css Xlib/ceph/mgr/dashboard/static/AdminLTE-2.3.7/dist/css/skins/skin-red-light.min.css Xlib/ceph/mgr/dashboard/static/AdminLTE-2.3.7/dist/css/skins/skin-red.min.css Xlib/ceph/mgr/dashboard/static/AdminLTE-2.3.7/dist/css/skins/skin-yellow-light.min.css Xlib/ceph/mgr/dashboard/static/AdminLTE-2.3.7/dist/css/skins/skin-yellow.min.css Xlib/ceph/mgr/dashboard/static/AdminLTE-2.3.7/dist/img/boxed-bg.jpg Xlib/ceph/mgr/dashboard/static/AdminLTE-2.3.7/dist/img/boxed-bg.png Xlib/ceph/mgr/dashboard/static/AdminLTE-2.3.7/dist/img/default-50x50.gif Xlib/ceph/mgr/dashboard/static/AdminLTE-2.3.7/dist/img/icons.png Xlib/ceph/mgr/dashboard/static/AdminLTE-2.3.7/dist/js/app.min.js Xlib/ceph/mgr/dashboard/static/AdminLTE-2.3.7/plugins/chartjs/Chart.js Xlib/ceph/mgr/dashboard/static/AdminLTE-2.3.7/plugins/chartjs/Chart.min.js Xlib/ceph/mgr/dashboard/static/AdminLTE-2.3.7/plugins/datatables/dataTables.bootstrap.min.js Xlib/ceph/mgr/dashboard/static/AdminLTE-2.3.7/plugins/datatables/images/sort_asc.png Xlib/ceph/mgr/dashboard/static/AdminLTE-2.3.7/plugins/datatables/images/sort_asc_disabled.png Xlib/ceph/mgr/dashboard/static/AdminLTE-2.3.7/plugins/datatables/images/sort_both.png Xlib/ceph/mgr/dashboard/static/AdminLTE-2.3.7/plugins/datatables/images/sort_desc.png Xlib/ceph/mgr/dashboard/static/AdminLTE-2.3.7/plugins/datatables/images/sort_desc_disabled.png Xlib/ceph/mgr/dashboard/static/AdminLTE-2.3.7/plugins/datatables/jquery.dataTables.min.css Xlib/ceph/mgr/dashboard/static/AdminLTE-2.3.7/plugins/datatables/jquery.dataTables.min.js Xlib/ceph/mgr/dashboard/static/AdminLTE-2.3.7/plugins/datatables/jquery.dataTables_themeroller.css Xlib/ceph/mgr/dashboard/static/AdminLTE-2.3.7/plugins/ionslider/img/sprite-skin-flat.png Xlib/ceph/mgr/dashboard/static/AdminLTE-2.3.7/plugins/ionslider/img/sprite-skin-nice.png Xlib/ceph/mgr/dashboard/static/AdminLTE-2.3.7/plugins/ionslider/ion.rangeSlider.css Xlib/ceph/mgr/dashboard/static/AdminLTE-2.3.7/plugins/ionslider/ion.rangeSlider.min.js Xlib/ceph/mgr/dashboard/static/AdminLTE-2.3.7/plugins/ionslider/ion.rangeSlider.skinFlat.css Xlib/ceph/mgr/dashboard/static/AdminLTE-2.3.7/plugins/ionslider/ion.rangeSlider.skinNice.css Xlib/ceph/mgr/dashboard/static/AdminLTE-2.3.7/plugins/jQuery/jquery-2.2.3.min.js Xlib/ceph/mgr/dashboard/static/AdminLTE-2.3.7/plugins/sparkline/jquery.sparkline.js Xlib/ceph/mgr/dashboard/static/AdminLTE-2.3.7/plugins/sparkline/jquery.sparkline.min.js Xlib/ceph/mgr/dashboard/static/Ceph_Logo_Standard_RGB_White_120411_fa.png Xlib/ceph/mgr/dashboard/static/favicon.ico Xlib/ceph/mgr/dashboard/static/libs/Chart.js/2.4.0/Chart.min.js Xlib/ceph/mgr/dashboard/static/libs/Chart.js/LICENSE.md Xlib/ceph/mgr/dashboard/static/libs/font-awesome/4.7.0/HELP-US-OUT.txt Xlib/ceph/mgr/dashboard/static/libs/font-awesome/4.7.0/css/font-awesome.min.css Xlib/ceph/mgr/dashboard/static/libs/font-awesome/4.7.0/fonts/fontawesome-webfont.woff Xlib/ceph/mgr/dashboard/static/libs/font-awesome/4.7.0/fonts/fontawesome-webfont.woff2 Xlib/ceph/mgr/dashboard/static/libs/font-awesome/COPYING Xlib/ceph/mgr/dashboard/static/libs/moment.js/2.17.1/moment.min.js Xlib/ceph/mgr/dashboard/static/libs/rivets/0.9.6/rivets.bundled.min.js Xlib/ceph/mgr/dashboard/static/libs/underscore.js/1.8.3/underscore-min.js Xlib/ceph/mgr/dashboard/static/logo-mini.png Xlib/ceph/mgr/dashboard/types.py Xlib/ceph/mgr/influx/__init__.py Xlib/ceph/mgr/influx/module.py Xlib/ceph/mgr/localpool/__init__.py Xlib/ceph/mgr/localpool/module.py Xlib/ceph/mgr/mgr_module.py Xlib/ceph/mgr/prometheus/__init__.py Xlib/ceph/mgr/prometheus/module.py Xlib/ceph/mgr/restful/__init__.py Xlib/ceph/mgr/restful/api/__init__.py Xlib/ceph/mgr/restful/api/config.py Xlib/ceph/mgr/restful/api/crush.py Xlib/ceph/mgr/restful/api/doc.py Xlib/ceph/mgr/restful/api/mon.py Xlib/ceph/mgr/restful/api/osd.py Xlib/ceph/mgr/restful/api/pool.py Xlib/ceph/mgr/restful/api/request.py Xlib/ceph/mgr/restful/api/server.py Xlib/ceph/mgr/restful/common.py Xlib/ceph/mgr/restful/decorators.py Xlib/ceph/mgr/restful/hooks.py Xlib/ceph/mgr/restful/module.py Xlib/ceph/mgr/selftest/__init__.py Xlib/ceph/mgr/selftest/module.py Xlib/ceph/mgr/status/__init__.py Xlib/ceph/mgr/status/module.py Xlib/ceph/mgr/zabbix/__init__.py Xlib/ceph/mgr/zabbix/module.py Xlib/ceph/mgr/zabbix/zabbix_template.xml Xlib/librados.so Xlib/librados.so.2 Xlib/librados.so.2.0.0 Xlib/libradosstriper.so Xlib/libradosstriper.so.1 Xlib/libradosstriper.so.1.0.0 Xlib/librbd.so Xlib/librbd.so.1 Xlib/librbd.so.1.12.0 Xlib/librgw.so Xlib/librgw.so.2 Xlib/librgw.so.2.0.0 X%%PYTHON_SITELIBDIR%%/ceph_argparse.py X%%PYTHON_SITELIBDIR%%/ceph_daemon.py X%%PYTHON_SITELIBDIR%%/ceph_detect_init-1.0.1-py%%PYTHON_VER%%.egg-info/PKG-INFO X%%PYTHON_SITELIBDIR%%/ceph_detect_init-1.0.1-py%%PYTHON_VER%%.egg-info/SOURCES.txt X%%PYTHON_SITELIBDIR%%/ceph_detect_init-1.0.1-py%%PYTHON_VER%%.egg-info/dependency_links.txt X%%PYTHON_SITELIBDIR%%/ceph_detect_init-1.0.1-py%%PYTHON_VER%%.egg-info/entry_points.txt X%%PYTHON_SITELIBDIR%%/ceph_detect_init-1.0.1-py%%PYTHON_VER%%.egg-info/requires.txt X%%PYTHON_SITELIBDIR%%/ceph_detect_init-1.0.1-py%%PYTHON_VER%%.egg-info/top_level.txt X%%PYTHON_SITELIBDIR%%/ceph_detect_init/__init__.py X%%PYTHON_SITELIBDIR%%/ceph_detect_init/__init__.pyc X%%PYTHON_SITELIBDIR%%/ceph_detect_init/alpine/__init__.py X%%PYTHON_SITELIBDIR%%/ceph_detect_init/alpine/__init__.pyc X%%PYTHON_SITELIBDIR%%/ceph_detect_init/arch/__init__.py X%%PYTHON_SITELIBDIR%%/ceph_detect_init/arch/__init__.pyc X%%PYTHON_SITELIBDIR%%/ceph_detect_init/centos/__init__.py X%%PYTHON_SITELIBDIR%%/ceph_detect_init/centos/__init__.pyc X%%PYTHON_SITELIBDIR%%/ceph_detect_init/debian/__init__.py X%%PYTHON_SITELIBDIR%%/ceph_detect_init/debian/__init__.pyc X%%PYTHON_SITELIBDIR%%/ceph_detect_init/docker/__init__.py X%%PYTHON_SITELIBDIR%%/ceph_detect_init/docker/__init__.pyc X%%PYTHON_SITELIBDIR%%/ceph_detect_init/exc.py X%%PYTHON_SITELIBDIR%%/ceph_detect_init/exc.pyc X%%PYTHON_SITELIBDIR%%/ceph_detect_init/fedora/__init__.py X%%PYTHON_SITELIBDIR%%/ceph_detect_init/fedora/__init__.pyc X%%PYTHON_SITELIBDIR%%/ceph_detect_init/freebsd/__init__.py X%%PYTHON_SITELIBDIR%%/ceph_detect_init/freebsd/__init__.pyc X%%PYTHON_SITELIBDIR%%/ceph_detect_init/gentoo/__init__.py X%%PYTHON_SITELIBDIR%%/ceph_detect_init/gentoo/__init__.pyc X%%PYTHON_SITELIBDIR%%/ceph_detect_init/main.py X%%PYTHON_SITELIBDIR%%/ceph_detect_init/main.pyc X%%PYTHON_SITELIBDIR%%/ceph_detect_init/oraclevms/__init__.py X%%PYTHON_SITELIBDIR%%/ceph_detect_init/oraclevms/__init__.pyc X%%PYTHON_SITELIBDIR%%/ceph_detect_init/rhel/__init__.py X%%PYTHON_SITELIBDIR%%/ceph_detect_init/rhel/__init__.pyc X%%PYTHON_SITELIBDIR%%/ceph_detect_init/suse/__init__.py X%%PYTHON_SITELIBDIR%%/ceph_detect_init/suse/__init__.pyc X%%PYTHON_SITELIBDIR%%/ceph_disk-1.0.0-py%%PYTHON_VER%%.egg-info/PKG-INFO X%%PYTHON_SITELIBDIR%%/ceph_disk-1.0.0-py%%PYTHON_VER%%.egg-info/SOURCES.txt X%%PYTHON_SITELIBDIR%%/ceph_disk-1.0.0-py%%PYTHON_VER%%.egg-info/dependency_links.txt X%%PYTHON_SITELIBDIR%%/ceph_disk-1.0.0-py%%PYTHON_VER%%.egg-info/entry_points.txt X%%PYTHON_SITELIBDIR%%/ceph_disk-1.0.0-py%%PYTHON_VER%%.egg-info/requires.txt X%%PYTHON_SITELIBDIR%%/ceph_disk-1.0.0-py%%PYTHON_VER%%.egg-info/top_level.txt X%%PYTHON_SITELIBDIR%%/ceph_disk/__init__.py X%%PYTHON_SITELIBDIR%%/ceph_disk/__init__.pyc X%%PYTHON_SITELIBDIR%%/ceph_disk/main.py X%%PYTHON_SITELIBDIR%%/ceph_disk/main.pyc X%%PYTHON_SITELIBDIR%%/ceph_rest_api.py X%%PYTHON_SITELIBDIR%%/ceph_volume_client.py X%%PYTHON_SITELIBDIR%%/rados-2.0.0-py%%PYTHON_VER%%.egg-info/PKG-INFO X%%PYTHON_SITELIBDIR%%/rados-2.0.0-py%%PYTHON_VER%%.egg-info/SOURCES.txt X%%PYTHON_SITELIBDIR%%/rados-2.0.0-py%%PYTHON_VER%%.egg-info/dependency_links.txt X%%PYTHON_SITELIBDIR%%/rados-2.0.0-py%%PYTHON_VER%%.egg-info/top_level.txt X%%PYTHON_SITELIBDIR%%/rados.so X%%PYTHON_SITELIBDIR%%/rbd-2.0.0-py%%PYTHON_VER%%.egg-info/PKG-INFO X%%PYTHON_SITELIBDIR%%/rbd-2.0.0-py%%PYTHON_VER%%.egg-info/SOURCES.txt X%%PYTHON_SITELIBDIR%%/rbd-2.0.0-py%%PYTHON_VER%%.egg-info/dependency_links.txt X%%PYTHON_SITELIBDIR%%/rbd-2.0.0-py%%PYTHON_VER%%.egg-info/top_level.txt X%%PYTHON_SITELIBDIR%%/rbd.so X%%PYTHON_SITELIBDIR%%/rgw-2.0.0-py%%PYTHON_VER%%.egg-info/PKG-INFO X%%PYTHON_SITELIBDIR%%/rgw-2.0.0-py%%PYTHON_VER%%.egg-info/SOURCES.txt X%%PYTHON_SITELIBDIR%%/rgw-2.0.0-py%%PYTHON_VER%%.egg-info/dependency_links.txt X%%PYTHON_SITELIBDIR%%/rgw-2.0.0-py%%PYTHON_VER%%.egg-info/top_level.txt X%%PYTHON_SITELIBDIR%%/rgw.so Xlib/rados-classes/libcls_hello.so Xlib/rados-classes/libcls_hello.so.1 Xlib/rados-classes/libcls_hello.so.1.0.0 Xlib/rados-classes/libcls_journal.so Xlib/rados-classes/libcls_journal.so.1 Xlib/rados-classes/libcls_journal.so.1.0.0 Xlib/rados-classes/libcls_lock.so Xlib/rados-classes/libcls_lock.so.1 Xlib/rados-classes/libcls_lock.so.1.0.0 Xlib/rados-classes/libcls_log.so Xlib/rados-classes/libcls_log.so.1 Xlib/rados-classes/libcls_log.so.1.0.0 Xlib/rados-classes/libcls_lua.so Xlib/rados-classes/libcls_lua.so.1 Xlib/rados-classes/libcls_lua.so.1.0.0 Xlib/rados-classes/libcls_numops.so Xlib/rados-classes/libcls_numops.so.1 Xlib/rados-classes/libcls_numops.so.1.0.0 Xlib/rados-classes/libcls_rbd.so Xlib/rados-classes/libcls_rbd.so.1 Xlib/rados-classes/libcls_rbd.so.1.0.0 Xlib/rados-classes/libcls_refcount.so Xlib/rados-classes/libcls_refcount.so.1 Xlib/rados-classes/libcls_refcount.so.1.0.0 Xlib/rados-classes/libcls_replica_log.so Xlib/rados-classes/libcls_replica_log.so.1 Xlib/rados-classes/libcls_replica_log.so.1.0.0 Xlib/rados-classes/libcls_rgw.so Xlib/rados-classes/libcls_rgw.so.1 Xlib/rados-classes/libcls_rgw.so.1.0.0 Xlib/rados-classes/libcls_sdk.so Xlib/rados-classes/libcls_sdk.so.1 Xlib/rados-classes/libcls_sdk.so.1.0.0 Xlib/rados-classes/libcls_statelog.so Xlib/rados-classes/libcls_statelog.so.1 Xlib/rados-classes/libcls_statelog.so.1.0.0 Xlib/rados-classes/libcls_timeindex.so Xlib/rados-classes/libcls_timeindex.so.1 Xlib/rados-classes/libcls_timeindex.so.1.0.0 Xlib/rados-classes/libcls_user.so Xlib/rados-classes/libcls_user.so.1 Xlib/rados-classes/libcls_user.so.1.0.0 Xlib/rados-classes/libcls_version.so Xlib/rados-classes/libcls_version.so.1 Xlib/rados-classes/libcls_version.so.1.0.0 Xlibexec/ceph/ceph-osd-prestart.sh Xlibexec/ceph/ceph_common.sh Xman/man8/ceph-authtool.8.gz Xman/man8/ceph-bluestore-tool.8.gz Xman/man8/ceph-clsinfo.8.gz Xman/man8/ceph-conf.8.gz Xman/man8/ceph-create-keys.8.gz Xman/man8/ceph-debugpack.8.gz Xman/man8/ceph-dencoder.8.gz Xman/man8/ceph-deploy.8.gz Xman/man8/ceph-detect-init.8.gz Xman/man8/ceph-disk.8.gz Xman/man8/ceph-fuse.8.gz Xman/man8/ceph-kvstore-tool.8.gz Xman/man8/ceph-mds.8.gz Xman/man8/ceph-mon.8.gz Xman/man8/ceph-osd.8.gz Xman/man8/ceph-post-file.8.gz Xman/man8/ceph-rbdnamer.8.gz Xman/man8/ceph-rest-api.8.gz Xman/man8/ceph-run.8.gz Xman/man8/ceph-syn.8.gz Xman/man8/ceph.8.gz Xman/man8/crushtool.8.gz Xman/man8/librados-config.8.gz Xman/man8/monmaptool.8.gz Xman/man8/mount.ceph.8.gz Xman/man8/osdmaptool.8.gz Xman/man8/rados.8.gz Xman/man8/radosgw-admin.8.gz Xman/man8/radosgw.8.gz Xman/man8/rbd-fuse.8.gz Xman/man8/rbd-ggate.8.gz Xman/man8/rbd-mirror.8.gz Xman/man8/rbd-replay-many.8.gz Xman/man8/rbd-replay-prep.8.gz Xman/man8/rbd-replay.8.gz Xman/man8/rbd.8.gz Xman/man8/rbdmap.8.gz Xsbin/ceph-create-keys Xsbin/ceph-disk Xsbin/mount.fuse.ceph X%%DATADIR%%/id_rsa_drop.ceph.com X%%DATADIR%%/id_rsa_drop.ceph.com.pub X%%DATADIR%%/known_hosts_drop.ceph.com X@dir /var/lib/ceph/bootstrap-mds X@dir /var/lib/ceph/bootstrap-mgr X@dir /var/lib/ceph/bootstrap-osd X@dir /var/lib/ceph/bootstrap-rgw X@dir /var/lib/ceph/mds X@dir /var/lib/ceph/mgr X@dir /var/lib/ceph/mon X@dir /var/lib/ceph/osd X@dir /var/lib/ceph/radosgw X@dir /var/lib/ceph/tmp X@dir /var/lib/ceph X@dir /var/lib X@dir /var/log/ceph X@dir /var/run/ceph 6a5f36a46b40540f1f3efd85507f5148 exit