]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
Merge branch 'wsp.bobtail.2merge' into wsp.bobtail.master
authorJoao Eduardo Luis <joao.luis@inktank.com>
Thu, 21 Feb 2013 18:04:22 +0000 (18:04 +0000)
committerJoao Eduardo Luis <joao.luis@inktank.com>
Thu, 21 Feb 2013 18:04:22 +0000 (18:04 +0000)
Conflicts:
src/.gitignore
src/Makefile.am
src/include/ceph_features.h
src/mon/MDSMonitor.cc
src/mon/PGMonitor.cc

18 files changed:
1  2 
src/.gitignore
src/Makefile.am
src/common/config_opts.h
src/include/ceph_features.h
src/mon/AuthMonitor.cc
src/mon/LogMonitor.cc
src/mon/MDSMonitor.cc
src/mon/MDSMonitor.h
src/mon/Monitor.cc
src/mon/Monitor.h
src/mon/OSDMonitor.cc
src/mon/OSDMonitor.h
src/mon/PGMonitor.cc
src/mon/PGMonitor.h
src/msg/Message.h
src/os/FileStore.cc
src/test/ObjectMap/test_keyvaluedb_iterators.cc
src/test/ObjectMap/test_object_map.cc

diff --cc src/.gitignore
index 3db14b8355459416f45b9905002ec9c1a20c0289,c59fc930a930dbece483993fc5b349a8cdfe9f18..6384b7b47ba65fcefa7d72b26e1f13e758a13a0e
@@@ -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 17255882666869faa31267399b45ae2bc57786ad,933140f4fb063f7508057928643702f109d46c71..60c3f2e5203ddc8d9910a2c67d6b0d729aaa539f
@@@ -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 \
Simple merge
index 0aa8dc158a2dd9517c8d22908b4b3a1ce5cf18ac,74603678cc36aa5c7f81fbc1d3f201808e031a72..111e924055f6df1c2efbe1bcf0c9ac3f952237b5
  #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.
         CEPH_FEATURE_CRUSH_TUNABLES2 |      \
         CEPH_FEATURE_CREATEPOOLID |         \
         CEPH_FEATURE_REPLY_CREATE_INODE |   \
-        CEPH_FEATURE_OSDHASHPSPOOL)
 +       CEPH_FEATURE_OSD_HBMSGS |              \
 +       CEPH_FEATURE_MDSENC |                  \
++       CEPH_FEATURE_OSDHASHPSPOOL |       \
+        CEPH_FEATURE_MON_SINGLE_PAXOS)
  
  #define CEPH_FEATURES_SUPPORTED_DEFAULT  CEPH_FEATURES_ALL
  
Simple merge
Simple merge
index 3cab479ee1268a9a56c083576486554a1981a3eb,f3027e3493a36f12b6c6c8b0dc8531fb5723ef07..11dcee2e64b05615a14cb7ba78cc5d9064eb3ff0
@@@ -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()
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
index 213aac44bae070b579e417aee4626176838098a3,8f830bd92750abe594d9fdb06a6c83375c85c028..8c458d5eb7941175956b3211ab8c31a4fe877e12
@@@ -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;
Simple merge
Simple merge
Simple merge
Simple merge