From: Joao Eduardo Luis Date: Thu, 21 Feb 2013 18:04:22 +0000 (+0000) Subject: Merge branch 'wsp.bobtail.2merge' into wsp.bobtail.master X-Git-Tag: v0.59~150^2~1 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=beafca57fb64e24d16008b1ce4a32b44ea5b55a0;p=ceph.git Merge branch 'wsp.bobtail.2merge' into wsp.bobtail.master Conflicts: src/.gitignore src/Makefile.am src/include/ceph_features.h src/mon/MDSMonitor.cc src/mon/PGMonitor.cc --- beafca57fb64e24d16008b1ce4a32b44ea5b55a0 diff --cc src/.gitignore index 3db14b835545,c59fc930a930..6384b7b47ba6 --- a/src/.gitignore +++ b/src/.gitignore @@@ -16,50 -1,122 +16,51 @@@ Makefil /ceph-fuse /ceph-mds /ceph-mon -/ceph /ceph-osd /ceph-syn -/ceph-dencoder -/dupstore -/fakefuse -/fakesyn -/mkmonmap -/monmaptool -/newsyn -/authtool -/ceph-authtool -/crushtool +/ceph.conf +/ceph_bench_log +/ceph_dupstore +/ceph_filestore_dump ++/ceph_mon_store_converter +/ceph_multi_stress_watch +/ceph_psim +/ceph_radosacl +/ceph_rgw_jsonparser +/ceph_rgw_multiparser +/ceph_scratchtool +/ceph_scratchtoolpp +/ceph_streamtest +/ceph_test_* +/ceph_tpbench +/ceph_xattr_bench +/ceph_kvstorebench +/ceph_omapbench +/ceph_smalliobench +/ceph_smalliobenchdumb +/ceph_smalliobenchfs +/ceph_smalliobenchrbd +/ceph_ver.h +/dev +/init-ceph +/keyring +/librados-config +/massif.out.* /mkcephfs +/mnt +/monmaptool /mount.ceph /osdmaptool +/out /rados -/rados_sync -/radosacl /radosgw /radosgw-admin -/rbdtool -/rgw_jsonparser -/rgw_multiparser -/streamtest -/bench_log -/test_ioctls -/test_trans -/testceph -/testcrypto -/testkeys -/testmsgr -/testrados -/testrados_delete_pool_while_open -/testrados_watch_notify -/testradospp -/testdout_streambuf -/testsignal_handlers -/testtimers -/test_addrs -/test_libceph_build -/test_librados_build -/test_librgw_build -/testrados -/test_str_list -/test_stress_watch -/multi_stress_watch -/test_store -/test_libcommon_build -/test_mutate -/fsconverter -/xattr_bench -/rest-bench -/rbd-fuse -/mon_store_converter -/test_store_tool -dev -mondata -mnt -TAGS -tags -out -acconfig.h.in -acconfig.h -/.libs - -*.so -/crush/*.fpicco -/CrushWrapper.pm -/crush/CrushWrapper_wrap.cxx - -/.git_version -/ceph-conf -/ceph-debugpack -/cephfs -/ceph-coverage -/dumpjournal -/init-ceph -/librados-config /rbd -/psim +/rbd-fuse +/rest-bench /sample.fetch_config - -Makefile - -/gtest/build-aux/config.h -/gtest/build-aux/config.h.in -/gtest/lib/ -/gtest/scripts/gtest-config -/gtest/src/.dirstamp -/gtest/Makefile.in -/gtest/aclocal.m4 -/gtest/configure -/gtest/fused-src/ +/TAGS +/tags +/testmsgr +/test_* /unittest_* -/ceph.conf -/keyring -/massif.out.* -/testrados_list_parallel -/testrados_open_pools_parallel -/testrados_delete_pools_parallel -/test_rados_api_aio -/test_rados_api_io -/test_rados_api_list -/test_rados_api_pool -/test_rados_api_stat -/test_rados_api_watch_notify -/test_rados_api_snapshots -/test_rados_api_misc -/test_librbd -/test_librbd_fsx -/scratchtool -/scratchtoolpp -/ceph-filestore-dump -/smalliobench -/smalliobenchdumb -/smalliobenchfs -/smalliobenchrbd -/tpbench diff --cc src/Makefile.am index 172558826668,933140f4fb06..60c3f2e5203d --- a/src/Makefile.am +++ b/src/Makefile.am @@@ -76,10 -75,18 +76,18 @@@ endi # monitor ceph_mon_SOURCES = ceph_mon.cc ceph_mon_LDFLAGS = $(AM_LDFLAGS) - ceph_mon_LDADD = libmon.a $(LIBGLOBAL_LDA) - ceph_mon_CXXFLAGS = ${AM_CXXFLAGS} + ceph_mon_LDADD = libmon.a $(LIBOS_LDA) $(LIBGLOBAL_LDA) + ceph_mon_CXXFLAGS = ${CRYPTO_CXXFLAGS} ${AM_CXXFLAGS} $(LEVELDB_INCLUDE) bin_PROGRAMS += ceph-mon -mon_store_converter_SOURCES = mon_store_converter.cc \ ++ceph_mon_store_converter_SOURCES = mon_store_converter.cc \ + mon/MonitorStore.cc -mon_store_converter_LDFLAGS = ${AM_LDFLAGS} -mon_store_converter_LDADD = $(LIBOS_LDA) $(LIBGLOBAL_LDA) -mon_store_converter_CXXFLAGS = ${AM_CXXFLAGS} $(LEVELDB_INCLUDE) -bin_PROGRAMS += mon_store_converter ++ceph_mon_store_converter_LDFLAGS = ${AM_LDFLAGS} ++ceph_mon_store_converter_LDADD = $(LIBOS_LDA) $(LIBGLOBAL_LDA) ++ceph_mon_store_converter_CXXFLAGS = ${AM_CXXFLAGS} $(LEVELDB_INCLUDE) ++bin_PROGRAMS += ceph_mon_store_converter + + # osd ceph_osd_SOURCES = ceph_osd.cc objclass/class_debug.cc \ objclass/class_api.cc @@@ -129,9 -137,9 +138,9 @@@ bin_PROGRAMS += monmaptool crushtool os rgw_dencoder_src = rgw/rgw_dencoder.cc \ rgw/rgw_acl.cc -ceph_dencoder_SOURCES = test/encoding/ceph_dencoder.cc ${rgw_dencoder_src} +ceph_dencoder_SOURCES = test/encoding/ceph_dencoder.cc ${rgw_dencoder_src} perfglue/disabled_heap_profiler.cc - ceph_dencoder_CXXFLAGS = ${AM_CXXFLAGS} + ceph_dencoder_CXXFLAGS = ${AM_CXXFLAGS} $(LEVELDB_INCLUDE) -ceph_dencoder_LDADD = $(LIBGLOBAL_LDA) libcls_lock_client.a libcls_rgw_client.a libosd.a libmds.a $(LIBOS_LDA) libmon.a +ceph_dencoder_LDADD = $(LIBGLOBAL_LDA) libcls_lock_client.a libcls_rgw_client.a libosd.a libmds.a libosdc.la $(LIBOS_LDA) libmon.a bin_PROGRAMS += ceph-dencoder mount_ceph_SOURCES = mount/mount.ceph.c common/armor.c common/safe_io.c common/secret.c include/addr_parsing.c @@@ -981,59 -977,66 +990,66 @@@ ceph_test_filestore_idempotent_sequence test/filestore/DeterministicOpSequence.cc \ test/filestore/TestFileStoreState.cc \ test/filestore/FileStoreDiff.cc -test_filestore_idempotent_sequence_CXXFLAGS = ${CRYPTO_CXXFLAGS} ${AM_CXXFLAGS} -test_filestore_idempotent_sequence_LDADD = $(LIBOS_LDA) $(LIBGLOBAL_LDA) -bin_DEBUGPROGRAMS += test_filestore_idempotent_sequence - -xattr_bench_SOURCES = test/xattr_bench.cc -xattr_bench_LDFLAGS = ${AM_LDFLAGS} -xattr_bench_LDADD = ${UNITTEST_STATIC_LDADD} $(LIBOS_LDA) $(LIBGLOBAL_LDA) -xattr_bench_CXXFLAGS = ${AM_CXXFLAGS} ${UNITTEST_CXXFLAGS} $(LEVELDB_INCLUDE) ${CRYPTO_CXXFLAGS} -bin_DEBUGPROGRAMS += xattr_bench - -test_filejournal_SOURCES = test/test_filejournal.cc -test_filejournal_LDFLAGS = ${AM_LDFLAGS} -test_filejournal_LDADD = ${UNITTEST_STATIC_LDADD} $(LIBOS_LDA) $(LIBGLOBAL_LDA) -test_filejournal_CXXFLAGS = ${AM_CXXFLAGS} ${UNITTEST_CXXFLAGS} -bin_DEBUGPROGRAMS += test_filejournal - -test_stress_watch_SOURCES = test/test_stress_watch.cc test/librados/test.cc -test_stress_watch_LDFLAGS = ${AM_LDFLAGS} -test_stress_watch_LDADD = librados.la ${UNITTEST_STATIC_LDADD} -test_stress_watch_CXXFLAGS = ${AM_CXXFLAGS} ${UNITTEST_CXXFLAGS} -bin_DEBUGPROGRAMS += test_stress_watch - -test_objectcacher_stress_SOURCES = test/osdc/object_cacher_stress.cc test/osdc/FakeWriteback.cc osdc/ObjectCacher.cc -test_objectcacher_stress_LDFLAGS = ${AM_LDFLAGS} -test_objectcacher_stress_LDADD = $(LIBGLOBAL_LDA) -test_objectcacher_stress_CXXFLAGS = ${AM_CXXFLAGS} -bin_DEBUGPROGRAMS += test_objectcacher_stress - -test_object_map_SOURCES = test/ObjectMap/test_object_map.cc test/ObjectMap/KeyValueDBMemory.cc os/DBObjectMap.cc os/LevelDBStore.cc -test_object_map_LDFLAGS = ${AM_LDFLAGS} -test_object_map_LDADD = ${UNITTEST_STATIC_LDADD} $(LIBOS_LDA) $(LIBGLOBAL_LDA) -test_object_map_CXXFLAGS = ${AM_CXXFLAGS} ${UNITTEST_CXXFLAGS} $(LEVELDB_INCLUDE) ${CRYPTO_CXXFLAGS} -bin_DEBUGPROGRAMS += test_object_map - -test_keyvaluedb_atomicity_SOURCES = test/ObjectMap/test_keyvaluedb_atomicity.cc os/LevelDBStore.cc -test_keyvaluedb_atomicity_LDFLAGS = ${AM_LDFLAGS} -test_keyvaluedb_atomicity_LDADD = ${UNITTEST_STATIC_LDADD} $(LIBOS_LDA) $(LIBGLOBAL_LDA) -test_keyvaluedb_atomicity_CXXFLAGS = ${AM_CXXFLAGS} ${UNITTEST_CXXFLAGS} $(LEVELDB_INCLUDE) ${CRYPTO_CXXFLAGS} -bin_DEBUGPROGRAMS += test_keyvaluedb_atomicity - -test_keyvaluedb_iterators_SOURCES = test/ObjectMap/test_keyvaluedb_iterators.cc \ +ceph_test_filestore_idempotent_sequence_CXXFLAGS = ${CRYPTO_CXXFLAGS} ${AM_CXXFLAGS} +ceph_test_filestore_idempotent_sequence_LDADD = $(LIBOS_LDA) $(LIBGLOBAL_LDA) +bin_DEBUGPROGRAMS += ceph_test_filestore_idempotent_sequence + +ceph_xattr_bench_SOURCES = test/xattr_bench.cc +ceph_xattr_bench_LDFLAGS = ${AM_LDFLAGS} +ceph_xattr_bench_LDADD = ${UNITTEST_STATIC_LDADD} $(LIBOS_LDA) $(LIBGLOBAL_LDA) +ceph_xattr_bench_CXXFLAGS = ${AM_CXXFLAGS} ${UNITTEST_CXXFLAGS} $(LEVELDB_INCLUDE) ${CRYPTO_CXXFLAGS} +bin_DEBUGPROGRAMS += ceph_xattr_bench + +ceph_test_filejournal_SOURCES = test/test_filejournal.cc +ceph_test_filejournal_LDFLAGS = ${AM_LDFLAGS} +ceph_test_filejournal_LDADD = ${UNITTEST_STATIC_LDADD} $(LIBOS_LDA) $(LIBGLOBAL_LDA) +ceph_test_filejournal_CXXFLAGS = ${AM_CXXFLAGS} ${UNITTEST_CXXFLAGS} +bin_DEBUGPROGRAMS += ceph_test_filejournal + +ceph_test_stress_watch_SOURCES = test/test_stress_watch.cc test/librados/test.cc +ceph_test_stress_watch_LDFLAGS = ${AM_LDFLAGS} +ceph_test_stress_watch_LDADD = librados.la ${UNITTEST_STATIC_LDADD} +ceph_test_stress_watch_CXXFLAGS = ${AM_CXXFLAGS} ${UNITTEST_CXXFLAGS} +bin_DEBUGPROGRAMS += ceph_test_stress_watch + +ceph_test_objectcacher_stress_SOURCES = test/osdc/object_cacher_stress.cc test/osdc/FakeWriteback.cc osdc/ObjectCacher.cc +ceph_test_objectcacher_stress_LDFLAGS = ${AM_LDFLAGS} +ceph_test_objectcacher_stress_LDADD = $(LIBGLOBAL_LDA) +ceph_test_objectcacher_stress_CXXFLAGS = ${AM_CXXFLAGS} +bin_DEBUGPROGRAMS += ceph_test_objectcacher_stress + +ceph_test_object_map_SOURCES = test/ObjectMap/test_object_map.cc test/ObjectMap/KeyValueDBMemory.cc os/DBObjectMap.cc os/LevelDBStore.cc +ceph_test_object_map_LDFLAGS = ${AM_LDFLAGS} +ceph_test_object_map_LDADD = ${UNITTEST_STATIC_LDADD} $(LIBOS_LDA) $(LIBGLOBAL_LDA) +ceph_test_object_map_CXXFLAGS = ${AM_CXXFLAGS} ${UNITTEST_CXXFLAGS} $(LEVELDB_INCLUDE) ${CRYPTO_CXXFLAGS} +bin_DEBUGPROGRAMS += ceph_test_object_map + +ceph_test_keyvaluedb_atomicity_SOURCES = test/ObjectMap/test_keyvaluedb_atomicity.cc os/LevelDBStore.cc +ceph_test_keyvaluedb_atomicity_LDFLAGS = ${AM_LDFLAGS} +ceph_test_keyvaluedb_atomicity_LDADD = ${UNITTEST_STATIC_LDADD} $(LIBOS_LDA) $(LIBGLOBAL_LDA) +ceph_test_keyvaluedb_atomicity_CXXFLAGS = ${AM_CXXFLAGS} ${UNITTEST_CXXFLAGS} $(LEVELDB_INCLUDE) ${CRYPTO_CXXFLAGS} +bin_DEBUGPROGRAMS += ceph_test_keyvaluedb_atomicity + +ceph_test_keyvaluedb_iterators_SOURCES = test/ObjectMap/test_keyvaluedb_iterators.cc \ test/ObjectMap/KeyValueDBMemory.cc \ os/LevelDBStore.cc -test_keyvaluedb_iterators_LDFLAGS = ${AM_LDFLAGS} -test_keyvaluedb_iterators_LDADD = ${UNITTEST_STATIC_LDADD} $(LIBOS_LDA) $(LIBGLOBAL_LDA) -test_keyvaluedb_iterators_CXXFLAGS = ${AM_CXXFLAGS} ${UNITTEST_CXXFLAGS} $(LEVELDB_INCLUDE) ${CRYPTO_CXXFLAGS} -bin_DEBUGPROGRAMS += test_keyvaluedb_iterators +ceph_test_keyvaluedb_iterators_LDFLAGS = ${AM_LDFLAGS} +ceph_test_keyvaluedb_iterators_LDADD = ${UNITTEST_STATIC_LDADD} $(LIBOS_LDA) $(LIBGLOBAL_LDA) +ceph_test_keyvaluedb_iterators_CXXFLAGS = ${AM_CXXFLAGS} ${UNITTEST_CXXFLAGS} $(LEVELDB_INCLUDE) ${CRYPTO_CXXFLAGS} +bin_DEBUGPROGRAMS += ceph_test_keyvaluedb_iterators -test_store_tool_SOURCES = test/ObjectMap/test_store_tool/test_store_tool.cc \ ++ceph_test_store_tool_SOURCES = test/ObjectMap/test_store_tool/test_store_tool.cc \ + os/LevelDBStore.cc -test_store_tool_LDFLAGS = ${AM_LDFLAGS} -test_store_tool_LDADD = $(LIBOS_LDA) $(LIBGLOBAL_LDA) -test_store_tool_CXXFLAGS = ${AM_CXXFLAGS} ${UNITTEST_CXXFLAGS} $(LEVELDB_INCLUDE) -bin_DEBUGPROGRAMS += test_store_tool ++ceph_test_store_tool_LDFLAGS = ${AM_LDFLAGS} ++ceph_test_store_tool_LDADD = $(LIBOS_LDA) $(LIBGLOBAL_LDA) ++ceph_test_store_tool_CXXFLAGS = ${AM_CXXFLAGS} ${UNITTEST_CXXFLAGS} $(LEVELDB_INCLUDE) ++bin_DEBUGPROGRAMS += ceph_test_store_tool + -test_cfuse_cache_invalidate_SOURCES = test/test_cfuse_cache_invalidate.cc -test_cfuse_cache_invalidate_LDFLAGS = ${AM_LDFLAGS} -test_cfuse_cache_invalidate_LDADD = -test_cfuse_cache_invalidate_CXXFLAGS = ${AM_CXXFLAGS} -bin_DEBUGPROGRAMS += test_cfuse_cache_invalidate +ceph_test_cfuse_cache_invalidate_SOURCES = test/test_cfuse_cache_invalidate.cc +ceph_test_cfuse_cache_invalidate_LDFLAGS = ${AM_LDFLAGS} +ceph_test_cfuse_cache_invalidate_LDADD = +ceph_test_cfuse_cache_invalidate_CXXFLAGS = ${AM_CXXFLAGS} +bin_DEBUGPROGRAMS += ceph_test_cfuse_cache_invalidate # shell scripts editpaths = sed \ diff --cc src/include/ceph_features.h index 0aa8dc158a2d,74603678cc36..111e924055f6 --- a/src/include/ceph_features.h +++ b/src/include/ceph_features.h @@@ -32,9 -32,7 +32,10 @@@ #define CEPH_FEATURE_CRUSH_TUNABLES2 (1<<25) #define CEPH_FEATURE_CREATEPOOLID (1<<26) #define CEPH_FEATURE_REPLY_CREATE_INODE (1<<27) -#define CEPH_FEATURE_MON_SINGLE_PAXOS (1<<28) +#define CEPH_FEATURE_OSD_HBMSGS (1<<28) +#define CEPH_FEATURE_MDSENC (1<<29) +#define CEPH_FEATURE_OSDHASHPSPOOL (1<<30) ++#define CEPH_FEATURE_MON_SINGLE_PAXOS (1<<31) /* * Features supported. Should be everything above. @@@ -68,9 -66,7 +69,10 @@@ CEPH_FEATURE_CRUSH_TUNABLES2 | \ CEPH_FEATURE_CREATEPOOLID | \ CEPH_FEATURE_REPLY_CREATE_INODE | \ + CEPH_FEATURE_OSD_HBMSGS | \ + CEPH_FEATURE_MDSENC | \ - CEPH_FEATURE_OSDHASHPSPOOL) ++ CEPH_FEATURE_OSDHASHPSPOOL | \ + CEPH_FEATURE_MON_SINGLE_PAXOS) #define CEPH_FEATURES_SUPPORTED_DEFAULT CEPH_FEATURES_ALL diff --cc src/mon/MDSMonitor.cc index 3cab479ee126,f3027e3493a3..11dcee2e64b0 --- a/src/mon/MDSMonitor.cc +++ b/src/mon/MDSMonitor.cc @@@ -125,8 -124,13 +124,13 @@@ void MDSMonitor::encode_pending(Monitor //print_map(pending_mdsmap); // apply to paxos - assert(paxos->get_version() + 1 == pending_mdsmap.epoch); - pending_mdsmap.encode(bl, mon->get_quorum_features()); + assert(get_version() + 1 == pending_mdsmap.epoch); + bufferlist mdsmap_bl; - pending_mdsmap.encode(mdsmap_bl); ++ pending_mdsmap.encode(mdsmap_bl, mon->get_quorum_features()); + + /* put everything in the transaction */ + put_version(t, pending_mdsmap.epoch, mdsmap_bl); + put_last_committed(t, pending_mdsmap.epoch); } void MDSMonitor::update_logger() diff --cc src/mon/PGMonitor.cc index 213aac44bae0,8f830bd92750..8c458d5eb794 --- a/src/mon/PGMonitor.cc +++ b/src/mon/PGMonitor.cc @@@ -164,13 -161,15 +161,14 @@@ void PGMonitor::update_from_paxos( assert(0 == "update_from_paxos: error parsing update"); return; } - } + } // walk through incrementals - while (paxosv > pg_map.version) { - utime_t now(ceph_clock_now(g_ceph_context)); + while (version > pg_map.version) { bufferlist bl; - bool success = paxos->read(pg_map.version+1, bl); - assert(success); + int err = get_version(pg_map.version+1, bl); + assert(err == 0); + assert(bl.length()); dout(7) << "update_from_paxos applying incremental " << pg_map.version+1 << dendl; PGMap::Incremental inc;